首頁  >  文章  >  Java  >  如何在 Java 中按第一列中的值對二維數組進行排序?

如何在 Java 中按第一列中的值對二維數組進行排序?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-11 21:33:03506瀏覽

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

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

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