首頁  >  文章  >  Java  >  如何在 Java 中使用 Arrays.sort 和比較器對 2D 陣列進行排序?

如何在 Java 中使用 Arrays.sort 和比較器對 2D 陣列進行排序?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-11 09:34:03160瀏覽

How to Sort a 2D Array in Java Using Arrays.sort and Comparators?

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

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