Heim >Java >javaLernprogramm >Wie sortiere ich ein zweidimensionales Array nach einer bestimmten Spalte in Java?
Die Aufgabe, ein zweidimensionales Array basierend auf einer bestimmten Spalte zu sortieren, stellt in Java eine einzigartige Herausforderung dar. Um dies zu erreichen, geht die folgende Lösung auf die Details des Problems ein und stellt eine umfassende Code-Implementierung bereit.
Die bereitgestellte Eingabe besteht aus einem zweidimensionalen Array, wobei die erste Spalte ein Datum im Format „JJJJ“ darstellt. MM.dd HH:mm“ und die zweite Spalte enthält Zeichenfolgen. Das Ziel besteht darin, dieses Array nach der ersten Spalte zu sortieren, was dazu führt, dass die Daten in chronologischer Reihenfolge angeordnet werden.
Der bereitgestellte Java-Code verwendet die integrierte Methode Arrays.sort() in Kombination mit einem Komparator, um die gewünschte Sortierung zu erreichen. Der Komparator definiert eine Regel zum Vergleichen der Array-Elemente, wobei der Schwerpunkt insbesondere auf der ersten Spalte (dem Datum) liegt. Der Code vergleicht die Daten mithilfe der Methode „compareTo()“, die einen ganzzahligen Wert zurückgibt, der die relative chronologische Reihenfolge der Daten angibt.
<code class="java">import java.util.Arrays; import java.util.Comparator; public class TwoDArraySort { public static void main(final String[] args) { final String[][] data = new String[][] { new String[] { "2009.07.25 20:24", "Message A" }, new String[] { "2009.07.25 20:17", "Message G" }, new String[] { "2009.07.25 20:25", "Message B" }, new String[] { "2009.07.25 20:30", "Message D" }, new String[] { "2009.07.25 20:01", "Message F" }, new String[] { "2009.07.25 21:08", "Message E" }, new String[] { "2009.07.25 19:54", "Message R" } }; Arrays.sort(data, new Comparator<String[]>() { @Override public int compare(final String[] entry1, final String[] entry2) { final String time1 = entry1[0]; final String time2 = entry2[0]; return time1.compareTo(time2); } }); for (final String[] s : data) { System.out.println(s[0] + " " + s[1]); } } }</code>
Die Ausgabe des bereitgestellten Codes ist wie folgt folgt:
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
Diese Ausgabe zeigt, dass das zweidimensionale Array erfolgreich nach der ersten Spalte sortiert wurde, was zur chronologischen Reihenfolge der Daten führt.
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein zweidimensionales Array nach einer bestimmten Spalte in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!