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

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

DDD
DDDOriginal
2024-11-12 09:24:021008Durchsuche

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

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

Arrays.sort(array, comparator);

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

Beispiel:

Betrachten Sie das folgende 2D-Array myArr:

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

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

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!

Stellungnahme:
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