Sortieren eines 2D-Arrays basierend auf den Werten der ersten Spalte mit Java Arrays.sort
Sortieren eines 2D-Arrays basierend auf den Werten von a in Java Eine bestimmte Spalte kann mit der überladenen Methode Arrays.sort(T[] a, Comparator c) erreicht werden, die einen Comparator als zweiten akzeptiert Argument.
Betrachten Sie das folgende Beispiel, in dem wir ein 2D-Array myArr haben, das Paare von Doubles enthält:
double[][] myArr = new double[mySize][2]; // populate myArr with data
Um dieses Array basierend auf den Werten der ersten Spalte zu sortieren, können wir den Komparator verwenden Schnittstelle zum Definieren einer benutzerdefinierten Vergleichsregel:
java.util.Comparator<double[]> comparator = new java.util.Comparator<double[]>() { public int compare(double[] a, double[] b) { return Double.compare(a[0], b[0]); } };
Wir können diesen Komparator dann an Arrays.sort übergeben Methode:
java.util.Arrays.sort(myArr, comparator);
Alternativ können wir in Java 8 oder höher eine Lambda-Funktion anstelle der anonymen inneren Klasse für den Komparator verwenden:
Arrays.sort(myArr, Comparator.comparingDouble(o -> o[0]));
Nach dem Sortieren wird myArr basierend auf den Werten in der ersten Spalte sortiert werden. Das Ergebnis wird sein:
[ {1.0, 5.0}, {12.0, 100.6}, {12.1, 0.85}, {13.0, 1.55} ]
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein 2D-Array in Java nach den Werten in der ersten Spalte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!