Sortieren eines 2D-String-Arrays nach einer bestimmten Spalte
In Java können Situationen auftreten, in denen wir in zwei Spalten gespeicherte Daten organisieren müssen -dimensionales (2D) Array. Um diese Sortierung effektiv durchzuführen, können wir die Methode Arrays.sort() zusammen mit einem benutzerdefinierten Komparator verwenden.
Betrachten Sie das folgende Beispiel: Wir haben ein 2D-Array von Zeichenfolgen, wobei die erste Spalte einen Zeitstempel und die zweite Spalte einen Zeitstempel darstellt Die Spalte enthält eine Nachricht. Unser Ziel ist es, das Array basierend auf den Zeitstempeln in aufsteigender Reihenfolge zu sortieren.
Um dies zu erreichen, können wir eine Klasse definieren, die die Comparator-Schnittstelle implementiert. Diese Klasse stellt die Logik zum Vergleichen von Elementen im Array bereit:
<code class="java">class TimestampComparator implements Comparator<String[]> { @Override public int compare(String[] entry1, String[] entry2) { return entry1[0].compareTo(entry2[0]); } }</code>
In diesem Komparator extrahieren wir die Zeitstempelwerte aus jedem Eintrag im Array und vergleichen sie mit der Methode String.compareTo().
Sobald unser Komparator vorhanden ist, können wir nun mit der Sortierung fortfahren:
<code class="java">Arrays.sort(data, new TimestampComparator());</code>
Hier repräsentieren die Daten das ursprüngliche 2D Array.
Nach dem Sortieren werden die Daten basierend auf den Zeitstempeln in der ersten Spalte organisiert. Die resultierende Ausgabe lautet:
2009.07.25 19:54 Message R 2009.07.25 20:01 Message F 2009.07.25 20:17 Message G 2009.07.25 20:24 Message A 2009.07.25 20:25 Message B 2009.07.25 20:30 Message D 2009.07.25 21:08 Message E
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein 2D-String-Array nach einer bestimmten Spalte in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!