特定の日付列で 2 次元配列を並べ替えるにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-03 15:57:03
オリジナル
270 人が閲覧しました

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

特定の列による 2 次元配列の並べ替え

問題の概要

2 つの列を持つデータ行を含む 2 次元配列があるとします。最初の列は「yyyy.MM.dd HH:mm」形式の日付を表し、2 番目の列は文字列です。最初の列に基づいて配列を並べ替えることを目的としています。

コンパレータを使用した解決策

配列を並べ替えるには、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
ログイン後にコピー

以上が特定の日付列で 2 次元配列を並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート