Rumah >Java >javaTutorial >Bagaimana untuk Mengisih Tatasusunan Dua Dimensi di Jawa Berdasarkan Lajur Tertentu?

Bagaimana untuk Mengisih Tatasusunan Dua Dimensi di Jawa Berdasarkan Lajur Tertentu?

DDD
DDDasal
2024-11-03 09:58:29688semak imbas

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

Mengisih Tatasusunan Dua Dimensi Berdasarkan Lajur Tertentu

Di Jawa, menyusun tatasusunan dua dimensi berdasarkan lajur tertentu melibatkan menyusun data dalam susunan menaik atau menurun mengikut nilai dalam lajur yang dipilih. Tugas ini amat berguna untuk mengatur set data yang kompleks dan memudahkan pengambilan maklumat yang cekap.

Untuk mengisih tatasusunan dua dimensi dengan jayanya, seseorang perlu mempertimbangkan jenis data dalam lajur yang ditentukan dan melaksanakan algoritma pengisihan yang sesuai. Sebagai contoh, dalam contoh yang diberikan, lajur pertama mengandungi tarikh dalam format "yyyy.MM.dd HH:mm", menunjukkan bahawa jenis data ialah Rentetan.

Kod berikut menunjukkan cara mengisih tatasusunan Rentetan dua dimensi berdasarkan lajur pertama:

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

Output:

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

Kod ini menggunakan Arrays.sort() dan pembanding tersuai untuk membandingkan dan mengisih elemen dalam tatasusunan. Dengan mentakrifkan pembanding yang memfokus pada lajur pertama, kami boleh mencapai pengisihan berasaskan lajur yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan Dua Dimensi di Jawa Berdasarkan Lajur 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