Ich habe eine Queue
, die ich in long[]
konvertieren und es an meine Methode übergeben, die Perzentile berechnen.Queue in langes Array konvertieren?
private final ConcurrentLinkedQueue<Long> holder = new ConcurrentLinkedQueue<>();
ich ConcurrentLinkedQueue
verwende, weil ich Latenzen bin Einfügen, die in Millisekunden von Multi-Thread-Anwendung in meine oben holder
Warteschlange sind so wollte ich Thread sicher sein.
Jetzt ist meine Frage, wie kann ich holder
Queue in long[]
langen Array konvertieren, so dass ich es an meine unten Methode übergeben kann? Gibt es eine Möglichkeit, das zu tun?
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;
}
Hast du irgendwas probiert? Was ist das Problem, vor dem du stehst? –
Darf diese Frage ein Duplikat sein? [Eine Warteschlange in ArrayList konvertieren] (http://stackoverflow.com/questions/20708358/convert-from-queue-to-arraylist) – dulindraxe