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
Susan SarandonOriginal
2024-11-03 15:57:03355Durchsuche

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>

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

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!

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