ホームページ >Java >&#&チュートリアル >Javaで特定の列に基づいて2次元配列をソートするにはどうすればよいですか?

Javaで特定の列に基づいて2次元配列をソートするにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-03 09:58:29684ブラウズ

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

特定の列に基づいた 2 次元配列の並べ替え

Java では、特定の列に基づいて 2 次元配列を並べ替える必要があります。選択した列の値に従ってデータを昇順または降順に整理します。このタスクは、複雑なデータセットを整理し、情報の効率的な取得を容易にする場合に特に役立ちます。

2 次元配列を適切に並べ替えるには、指定された列のデータの種類を考慮し、適切な並べ替えアルゴリズムを実装する必要があります。たとえば、指定された例では、最初の列には「yyyy.MM.dd HH:mm」形式の日付が含まれており、データ型が String であることを示しています。

次のコードは、データを並べ替える方法を示しています。最初の列に基づく 2 次元 String 配列:

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

出力:

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

このコードでは、Arrays.sort() とカスタム コンパレーターを利用して要素を比較および並べ替えます。配列。最初の列に焦点を当てたコンパレータを定義することで、目的の列ベースの並べ替えを実現できます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。