首頁  >  文章  >  Java  >  如何依特定日期列對二維數組進行排序?

如何依特定日期列對二維數組進行排序?

Susan Sarandon
Susan Sarandon原創
2024-11-03 15:57:03254瀏覽

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

按特定列對二維數組進行排序

問題概述

給定一個包含兩列資料行的二維數組,其中第一列表示「yyyy.MM.dd HH:mm」格式的日期,第二列是字串,我們的目標是根據第一列對陣列進行排序。

使用比較器的解決方案

要對數組進行排序,我們可以利用 Arrays.sort() 方法以及自訂比較器。比較器將比較每行的第一個元素,這些元素代表日期。

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

輸出

輸出將顯示排序後的數據,行依第一個升序排列欄位(日期):

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

以上是如何依特定日期列對二維數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn