首頁  >  文章  >  Java  >  如何在 Java 中按第一列對 2D 雙精度數組進行排序?

如何在 Java 中按第一列對 2D 雙精度數組進行排序?

Linda Hamilton
Linda Hamilton原創
2024-11-10 18:46:02293瀏覽

How to Sort a 2D Double Array by the First Column in Java?

使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn