Hallo liebe Leut,
ich möchte gerne zwei Listen paralell Sortieren. Die Listen beinhalten Werte und IDs(Strings). Die Werte sollen numerisch Sortiert werden, und die IDs die im Index übereinstimmen sollen sozusagen so sortiert werden dass nach sortieren der Werte die Indexe von IDs und Werten immernoch übereinstimmen.
Ich habe das ganze wie folgend über den bubblesort gemacht:
Auf 50000 Listeneinträgen dauert dass schon eine Weile. Ca. 2-3 Minnuten. Allerdings will ich eine Liste von 3Mio Einträgen sortieren. Dort habe ich nach ca. 8 Stunden sortieren abgebrochen. Gibt es da eventuell in Java vorgefertigte Performante Lösungen die Listen sortieren können. Ich kenne Collections.sort(Liste), aber das funktioniert ja leider nur auf einer Liste und nicht auf zwei Listen paralell.
Zudem, gibt es eine Möglichkeit über VM Kommandos mehr als nur einen Kern zu nutzen? Im Moment verwendet das Programm nur einen Kern.
ich möchte gerne zwei Listen paralell Sortieren. Die Listen beinhalten Werte und IDs(Strings). Die Werte sollen numerisch Sortiert werden, und die IDs die im Index übereinstimmen sollen sozusagen so sortiert werden dass nach sortieren der Werte die Indexe von IDs und Werten immernoch übereinstimmen.
Ich habe das ganze wie folgend über den bubblesort gemacht:
Java:
// BUBBLESORT
boolean unsortiert = true;
double temp;
String temp2;
System.out.print("Sorting Weights ...");
while (unsortiert) {
unsortiert = false;
for (int i = 0; i < values.size() - 1; i++)
if (values.get(i) < values.get(i + 1)) {
temp = values.get(i);
values.set(i, values.get(i + 1));
values.set(i + 1, temp);
temp2 = keys.get(i);
keys.set(i, keys.get(i + 1));
keys.set(i + 1, temp2);
unsortiert = true;
}
}
System.out.println("Done!");
Zudem, gibt es eine Möglichkeit über VM Kommandos mehr als nur einen Kern zu nutzen? Im Moment verwendet das Programm nur einen Kern.