Heim > Java > javaLernprogramm > Hauptteil

Wie sortiere ich ein 2D-Array in Java mithilfe von Arrays.sort und Komparatoren?

Mary-Kate Olsen
Freigeben: 2024-11-11 09:34:03
Original
183 Leute haben es durchsucht

How to Sort a 2D Array in Java Using Arrays.sort and Comparators?

Sortieren von 2D-Arrays in Java mit Arrays.sort

Eine Möglichkeit, ein 2D-Array basierend auf den Werten von zu sortieren, ohne Ihre eigene Sortierung zu implementieren Der Algorithmus besteht darin, die überladenen Arrays#Sort(T[] a, Comparator c) zu verwenden. Methode.

double[][] array = {
        {1, 5},
        {13, 1.55},
        {12, 100.6},
        {12.1, .85}
};

java.util.Arrays.sort(array, new java.util.Comparator<double[]>() {
    public int compare(double[] a, double[] b) {
        return Double.compare(a[0], b[0]);
    }
});
Nach dem Login kopieren

Diese Methode verwendet einen Comparator als zweites Argument, sodass Sie Ihre eigenen Sortierkriterien definieren können. In diesem Fall vergleicht der von uns bereitgestellte Komparator das erste Element jedes double[]-Arrays und gibt eine Ganzzahl zurück, die angibt, ob es kleiner, größer oder gleich 0 ist.

Verwendung von Lambda-Funktionen in Java 8

Java 8 führt Lambda-Funktionen ein, die eine prägnante Möglichkeit zur Definition von Komparatoren bieten. Wir können den vorherigen Code mithilfe einer Lambda-Funktion wie folgt umschreiben:

Arrays.sort(array, Comparator.comparingDouble(o -> o[0]));
Nach dem Login kopieren

Diese Lambda-Funktion verwendet ein Double[]-Array als Eingabe und gibt den Wert des ersten Elements als Double zurück. Durch Sortieren des Arrays mit diesem Komparator erreichen wir das gewünschte Ergebnis.

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein 2D-Array in Java mithilfe von Arrays.sort und Komparatoren?. 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