使用Arrays.sort 在Java 中對2D 數組進行排序
一種基於的值對2D 數組進行排序的方法,無需實作自己的排序演算法是使用重載的Arrays#Sort(T[] a, Comparator c) 方法。
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]); } });
此方法將 Comparator 作為第二個參數,讓您定義自己的排序標準。在本例中,我們提供的比較器會比較每個 double[] 陣列的第一個元素,並傳回整數,指示它是否小於、大於或等於 0。
使用 Lambda 函數在 Java 8
Java 8 引入了 lambda 函數,它提供了一種定義比較器的簡潔方法。我們可以使用 lambda 函數重寫前面的程式碼,如下所示:
Arrays.sort(array, Comparator.comparingDouble(o -> o[0]));
此 lambda 函數採用 double[] 陣列作為其輸入,並以 double 形式傳回第一個元素的值。透過使用此比較器對數組進行排序,我們達到了預期的結果。
以上是如何在 Java 中使用 Arrays.sort 和比較器對 2D 陣列進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!