Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Isih Tatasusunan Dua Dimensi mengikut Lajur Tarikh Tertentu?

Susan Sarandon
Lepaskan: 2024-11-03 15:57:03
asal
245 orang telah melayarinya

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>
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan