Heim > Java > javaLernprogramm > Hauptteil

Wie sortiere ich ein 2D-Array nach seiner ersten Spalte in Java?

DDD
Freigeben: 2024-11-12 09:24:02
Original
970 Leute haben es durchsucht

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

Sortieren eines 2D-Arrays nach der ersten Spalte mit Javas Arrays.sort

In Java wird ein 2D-Array basierend auf den Werten der sortiert Die erste Spalte kann mithilfe der überladenen Arrays.sort-Methode erreicht werden, die einen Comparator als zweites Argument verwendet. Mit diesem Komparator können Sie eine benutzerdefinierte Vergleichslogik zum Sortieren der Array-Elemente angeben.

Um ein 2D-Array anhand der Werte der ersten Spalte zu sortieren, können Sie die folgenden Schritte ausführen:

Erstellen Sie eine Komparator-Implementierung vergleicht die ersten Elemente der Subarrays. Dies kann mit der Double.compare-Methode zum Vergleichen von Double-Werten erfolgen:

Comparator<double[]> comparator = (a, b) -> Double.compare(a[0], b[0]);
Nach dem Login kopieren

Rufen Sie die Arrays.sort-Methode mit dem Array und dem Comparator als Argumente auf:

Arrays.sort(array, comparator);
Nach dem Login kopieren

Alternativ: Wenn Sie Java 8 oder höher verwenden, können Sie eine Lambda-Funktion verwenden, um das zu vereinfachen Komparator:

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

Beispiel:

Betrachten Sie das folgende 2D-Array myArr:

double[][] myArr = {
    {1, 5},
    {13, 1.55},
    {12, 100.6},
    {12.1, .85}
};
Nach dem Login kopieren

Nachdem Sie myArr mit dem oben beschriebenen Ansatz sortiert haben, Es wird basierend auf den Werten der ersten Spalte sortiert:

1      5
12     100.6
12.1   .85
13     1.55
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein 2D-Array nach seiner ersten Spalte in Java?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage