Sorting 2D Array based on First Column Values using Java Arrays.sort
In Java, sorting a 2D array based on the values of a specific column can be achieved using the overloaded Arrays.sort(T[] a, Comparator c) method that accepts a Comparator as its second Argument.
Betrachten Sie das folgende Beispiel, in dem wir ein 2D -Array Myarr haben, das Paare von Doppel enthält:
double[][] myArr = new double[mySize][2]; // populate myArr with data
um dieses Array basierend auf den ersten Spaltenwerten zu sortieren. Wir können mit der Vergleichsschnittstelle eine benutzerdefinierte Vergleichsregel definieren:
java.util.Comparatorcomparator = new java.util.Comparator () { public int compare(double[] a, double[] b) { return Double.compare(a[0], b[0]); } };
wir können diesen Komparator dann an die Arrays.sort -Methode übergeben:
java.util.Arrays.sort(myArr, comparator);
Alternativ in Java 8 oder später können wir eine Lambda -Funktion anstelle der anonymous Inner -Klasse für die anonymous inner für die anonymous für die für die für die für die für die für die anonymous für die für die für die für die für die für die für die verwenden, um für die anonymous für die für die anonymous für die für die zu verwenden, für die für die anonymous für die für die anonym für die für die für die anonymous for the für die Vergleicher:
Arrays.sort(myArr, Comparator.comparingDouble(o -> o[0]));
Nach dem Sortieren wird der Myarr basierend auf den Werten in der ersten Spalte sortiert. Das Ergebnis wird sein:
[ {1.0, 5.0}, {12.0, 100.6}, {12.1, 0.85}, {13.0, 1.55} ]
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3