2016-12-14 11 views
1

Queuelong[]に変換され、それを私の方法に渡してパーセンタイルを計算します。キューを長い配列に変換しますか?

private final ConcurrentLinkedQueue<Long> holder = new ConcurrentLinkedQueue<>(); 

私はので、私はスレッドセーフになりたかった私の上記holderキューにマルチスレッドアプリケーションからのミリ秒単位であるレイテンシを挿入していますので、私はConcurrentLinkedQueueを使用しています。

今、私の質問は、holderキューをlong[]の長い配列に変換して、私の下のメソッドに渡すことができますか?それを行う方法はありますか?

public static long[] percentiles(long[] latencies, double... percentiles) { 
    Arrays.sort(latencies, 0, latencies.length); 
    long[] values = new long[percentiles.length]; 
    for (int i = 0; i < percentiles.length; i++) { 
     int index = (int) (percentiles[i] * latencies.length); 
     values[i] = latencies[index]; 
    } 
    return values; 
    } 
+0

何か試しましたか?あなたが直面している問題は何ですか? –

+0

この質問は重複することがありますか? [キューをArrayListに変換](http://stackoverflow.com/questions/20708358/convert-from-queue-to-arraylist) – dulindraxe

答えて

0

ConcurrentLinkedQueue#toArray(T[] a)はあなたが道の90%を取得するように見えます:

Long[] longs = holder.toArray(new Long[0]); 

学生への課題として残しlong[]Long[]を変換します。 ;-)

関連する問題