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

Wie sortiere ich ein zweidimensionales Array nach einer bestimmten Datumsspalte?

Susan Sarandon
Freigeben: 2024-11-03 15:57:03
Original
336 Leute haben es durchsucht

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

Sortieren eines zweidimensionalen Arrays nach einer bestimmten Spalte

Problemübersicht

Gegeben sei ein zweidimensionales Array, das Datenzeilen mit zwei Spalten enthält, Wenn die erste Spalte ein Datum im Format „jjjj.MM.tt HH:mm“ darstellt und die zweite Spalte ein String ist, wollen wir das Array basierend auf der ersten Spalte sortieren.

Lösung mit einem Komparator

Um das Array zu sortieren, können wir die Methode Arrays.sort() zusammen mit einem benutzerdefinierten Komparator verwenden. Der Komparator vergleicht die ersten Elemente jeder Zeile, die die Daten darstellen.

<code class="java">import java.util.Arrays;
import java.util.Comparator;

public class ArraySorter {

    public static void main(String[] args) {
        // Input array
        String[][] data = {
                {"2009.07.25 20:24", "Message A"},
                {"2009.07.25 20:17", "Message G"},
                {"2009.07.25 20:25", "Message B"},
                {"2009.07.25 20:30", "Message D"},
                {"2009.07.25 20:01", "Message F"},
                {"2009.07.25 21:08", "Message E"},
                {"2009.07.25 19:54", "Message R"}
        };

        // Create a comparator to sort based on the first column (date)
        Comparator<String[]> comparator = Comparator.comparing(row -> row[0]);

        // Sort the array using the comparator
        Arrays.sort(data, comparator);

        // Print the sorted array
        for (String[] row : data) {
            System.out.println(row[0] + " " + row[1]);
        }
    }
}</code>
Nach dem Login kopieren

Ausgabe

Die Ausgabe zeigt die sortierten Daten an, wobei die Zeilen basierend auf dem ersten in aufsteigender Reihenfolge angeordnet sind Spalte (Datum):

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

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein zweidimensionales Array nach einer bestimmten Datumsspalte?. 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