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

Mary-Kate Olsen
リリース: 2024-11-11 21:33:03
オリジナル
539 人が閲覧しました

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

Java Arrays.sort を使用した最初の列の値に基づく 2D 配列の並べ替え

Java では、配列の値に基づいて 2D 配列を並べ替えます。特定の列を取得するには、オーバーロードされた Arrays.sort(T[] a, Comparator c) メソッドを使用します。 2 番目の引数として Comparator を指定します。

次の例を考えてみましょう。double のペアを含む 2D 配列 myArr があります。

double[][] myArr = new double[mySize][2];
// populate myArr with data
ログイン後にコピー

最初の列の値に基づいてこの配列を並べ替えるには、次のようにします。 Comparator インターフェイスを使用してカスタム比較ルールを定義できます。

java.util.Comparator<double[]> comparator = new java.util.Comparator<double[]>() {
    public int compare(double[] a, double[] b) {
        return Double.compare(a[0], b[0]);
    }
};
ログイン後にコピー

この Comparator をArrays.sort メソッド:

java.util.Arrays.sort(myArr, comparator);
ログイン後にコピー

または、Java 8 以降では、Comparator の匿名内部クラスの代わりにラムダ関数を使用できます:

Arrays.sort(myArr, Comparator.comparingDouble(o -> o[0]));
ログイン後にコピー

並べ替え後、 myArr は最初の列の値に基づいて並べ替えられます。結果は次のようになります:

[
  {1.0, 5.0},
  {12.0, 100.6},
  {12.1, 0.85},
  {13.0, 1.55}
]
ログイン後にコピー

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

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