使用Java Arrays.sort 根據第一列值對二維數組進行排序
在Java 中,根據a 的值對二維數組進行排序可以使用接受a 的重載Arrays.sort(T[] a, Comparator c)方法來實作特定列比較器作為第二個參數。
考慮以下範例,其中我們有一個包含雙精度對的二維數組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 或更高版本中,我們可以使用lambda 函數代替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 中按第一列中的值對二維數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!