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

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

DDD
Freigeben: 2024-11-03 09:58:29
Original
702 Leute haben es durchsucht

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

Sortieren eines zweidimensionalen Arrays basierend auf einer bestimmten Spalte

In Java umfasst das Sortieren eines zweidimensionalen Arrays basierend auf einer bestimmten Spalte Organisieren der Daten in aufsteigender oder absteigender Reihenfolge entsprechend den Werten in der ausgewählten Spalte. Diese Aufgabe ist besonders nützlich, um komplexe Datensätze zu organisieren und das effiziente Abrufen von Informationen zu ermöglichen.

Um ein zweidimensionales Array erfolgreich zu sortieren, muss man den Datentyp in der angegebenen Spalte berücksichtigen und den entsprechenden Sortieralgorithmus implementieren. Im gegebenen Beispiel enthält die erste Spalte beispielsweise Datumsangaben im Format „jjjj.MM.tt HH:mm“, was darauf hinweist, dass der Datentyp ein String ist.

Der folgende Code zeigt, wie a sortiert wird zweidimensionales String-Array basierend auf der ersten Spalte:

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

public class Sort2DArray {

    public static void main(String[] args) {
        // Sample two-dimensional 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"}
        };

        // Comparator for sorting based on the first column (date)
        Comparator<String[]> dateComparator = (entry1, entry2) -> {
            String time1 = entry1[0];
            String time2 = entry2[0];
            return time1.compareTo(time2);
        };

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

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

Ausgabe:

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

Der Code verwendet Arrays.sort() und einen benutzerdefinierten Komparator, um die Elemente darin zu vergleichen und zu sortieren das Array. Durch die Definition eines Komparators, der sich auf die erste Spalte konzentriert, können wir die gewünschte spaltenbasierte Sortierung erreichen.

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein zweidimensionales Array in Java basierend auf einer bestimmten Spalte?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage