Rumah >Java >javaTutorial >Bagaimana untuk Isih Tatasusunan Dua Dimensi mengikut Lajur Tarikh Tertentu?

Bagaimana untuk Isih Tatasusunan Dua Dimensi mengikut Lajur Tarikh Tertentu?

Susan Sarandon
Susan Sarandonasal
2024-11-03 15:57:03365semak imbas

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

Mengisih Tatasusunan Dua Dimensi mengikut Lajur Tertentu

Gambaran Keseluruhan Masalah

Memandangkan tatasusunan dua dimensi yang mengandungi baris data dengan dua lajur, apabila lajur pertama mewakili tarikh dalam format "yyyy.MM.dd HH:mm" dan lajur kedua ialah String, kami menyasarkan untuk mengisih tatasusunan berdasarkan lajur pertama.

Penyelesaian menggunakan Pembanding

Untuk mengisih tatasusunan, kita boleh menggunakan kaedah Arrays.sort() bersama-sama dengan pembanding tersuai. Pembanding akan membandingkan elemen pertama setiap baris, yang mewakili tarikh.

<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>

Output

Output akan memaparkan data yang diisih, dengan baris disusun dalam tertib menaik berdasarkan yang pertama lajur (tarikh):

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

Atas ialah kandungan terperinci Bagaimana untuk Isih Tatasusunan Dua Dimensi mengikut Lajur Tarikh Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn