Arrays.sort を使用した Java での 2D 配列の並べ替え
独自の並べ替えを実装せずに、 の値に基づいて 2D 配列を並べ替える 1 つの方法アルゴリズムは、オーバーロードされた Arrays#Sort(T[] a, Comparator c) を使用することです。 method.
double[][] array = { {1, 5}, {13, 1.55}, {12, 100.6}, {12.1, .85} }; java.util.Arrays.sort(array, new java.util.Comparator<double[]>() { public int compare(double[] a, double[] b) { return Double.compare(a[0], b[0]); } });
このメソッドは 2 番目の引数として Comparator を受け取り、独自の並べ替え基準を定義できます。この場合、提供された Comparator は各 double[] 配列の最初の要素を比較し、それが 0 より小さいか、大きいか、0 に等しいかを示す整数を返します。
Lambda 関数の使用Java 8 では
Java 8 では、コンパレータを定義する簡潔な方法を提供するラムダ関数が導入されました。ラムダ関数を使用して前のコードを次のように書き直すことができます。
Arrays.sort(array, Comparator.comparingDouble(o -> o[0]));
このラムダ関数は、入力として double[] 配列を受け取り、最初の要素の値を double として返します。この Comparator を使用して配列を並べ替えることで、望ましい結果が得られます。
以上がArrays.sort とコンパレータを使用して Java で 2D 配列をソートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。