Sortieren von 2D-Arrays mit Javas Arrays.sort()
Arrays.sort() ist eine vielseitige Sortierfunktion in Java, die verwendet werden kann für verschiedene Datentypen, einschließlich 2D-Arrays. In diesem speziellen Szenario wollen wir ein 2D-Doppelarray basierend auf den Werten in der ersten Spalte sortieren.
Um dies zu erreichen, ohne einen benutzerdefinierten Sortieralgorithmus zu implementieren, können wir die überladene Version von Arrays#Sort(T nutzen [] a, Komparator c). Durch die Bereitstellung eines Komparators als zweites Argument können wir unsere eigenen Sortierkriterien angeben.
Für das gegebene Array:
double[][] myArr = new double[mySize][2]; // Initial array contents
1 5 13 1.55 12 100.6 12.1 .85
Wir können einen Komparator erstellen, der die ersten Elemente vergleicht jeder Zeile:
Comparator<double[]> comparator = new Comparator<double[]>() { @Override public int compare(double[] a, double[] b) { return Double.compare(a[0], b[0]); } };
Dann können wir das Array damit sortieren Komparator:
java.util.Arrays.sort(myArr, comparator);
Ergebnis:
1 5 12 100.6 12.1 .85 13 1.55
JAVA-8:
In Java 8 und höher, Wir können den Komparator mit einem Lambda-Ausdruck vereinfachen:
Arrays.sort(myArr, Comparator.comparingDouble(o -> o[0]));
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein 2D-Doppelarray nach der ersten Spalte in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!