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 サイトの他の関連記事を参照してください。