Heim > Java > javaLernprogramm > Wie sortiere ich ein zweidimensionales Array nach einer bestimmten Spalte in Java?

Wie sortiere ich ein zweidimensionales Array nach einer bestimmten Spalte in Java?

Linda Hamilton
Freigeben: 2024-11-03 11:14:03
Original
295 Leute haben es durchsucht

How to Sort a Two-Dimensional Array by a Specific Column in Java?

Sortieren zweidimensionaler Arrays nach 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.

Implementierung

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>
Nach dem Login kopieren

Ausgabe

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
Nach dem Login kopieren

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!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage