使用Java 的Arrays.sort() 對二維陣列進行排序
Arrays.sort() 是Java 中的一個多功能排序函數,可以使用適用於各種資料類型,包括二維數組。在這個特定場景中,我們的目標是根據第一列中的值對 2D 雙精度數組進行排序。
要在不實作自訂排序演算法的情況下實現此目的,我們可以利用 Arrays#Sort(T 的重載版本[]a、比較器c)。透過提供 Comparator 作為第二個參數,我們可以指定自己的排序標準。
對於給定的陣列:
double[][] myArr = new double[mySize][2]; // Initial array contents
1 5 13 1.55 12 100.6 12.1 .85
我們可以建立一個比較第一個元素的比較器每行的:
Comparator<double[]> comparator = new Comparator<double[]>() { @Override public int compare(double[] a, double[] b) { return Double.compare(a[0], b[0]); } };
然後,我們可以使用此比較器對陣列進行排序:
java.util.Arrays.sort(myArr, comparator);
結果:
1 5 12 100.6 12.1 .85 13 1.55
JAVA-8:
JAVA-8:
Arrays.sort(myArr, Comparator.comparingDouble(o -> o[0]));JAVA-8:JAVA-8:JAVA-8:在Java 8 及更高版本中,我們可以使用lambda 表達式來簡化比較器:
以上是如何在 Java 中按第一列對 2D 雙精度數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!