ホームページ  >  記事  >  Java  >  Java で 2D 配列を最初の列でソートするにはどうすればよいですか?

Java で 2D 配列を最初の列でソートするにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-12 09:24:021007ブラウズ

How to Sort a 2D Array by its First Column in Java?

Java の Arrays.sort を使用した最初の列による 2D 配列のソート

Java では、最初の列は、Comparator を 2 番目の引数として受け取るオーバーロードされた Arrays.sort メソッドを使用して実現できます。この Comparator を使用すると、配列要素を並べ替えるためのカスタム比較ロジックを指定できます。

最初の列の値を使用して 2D 配列を並べ替えるには、次の手順に従います。

次の Comparator 実装を作成します。部分配列の最初の要素を比較します。これは、Double 値を比較する Double.compare メソッドを使用して実行できます。

Comparator<double[]> comparator = (a, b) -> Double.compare(a[0], b[0]);

配列と Comparator を引数として Arrays.sort メソッドを呼び出します。

Arrays.sort(array, comparator);

または、次のようにします。 Java 8 以降を使用している場合は、ラムダ関数を使用してコンパレータを簡素化できます:

Arrays.sort(array, Comparator.comparingDouble(a -> a[0]));

例:

次の 2D 配列 myArr を考えてみましょう。 :

double[][] myArr = {
    {1, 5},
    {13, 1.55},
    {12, 100.6},
    {12.1, .85}
};

上記のアプローチを使用して myArr をソートした後、最初の列の値に基づいてソートされます:

1      5
12     100.6
12.1   .85
13     1.55

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

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