Heim > Java > javaLernprogramm > Wie sortiere ich ein 2D-Array in Java nach den Werten in der ersten Spalte?

Wie sortiere ich ein 2D-Array in Java nach den Werten in der ersten Spalte?

Mary-Kate Olsen
Freigeben: 2024-11-11 21:33:03
Original
580 Leute haben es durchsucht

How to Sort a 2D Array in Java by the Values in the First Column?

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
Nach dem Login kopieren

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]);
    }
};
Nach dem Login kopieren

Wir können diesen Komparator dann an Arrays.sort übergeben Methode:

java.util.Arrays.sort(myArr, comparator);
Nach dem Login kopieren

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 Login kopieren

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}
]
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage