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]); } });
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]));
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!