首页  >  文章  >  Java  >  如何在 Java 中按第一列中的值对二维数组进行排序?

如何在 Java 中按第一列中的值对二维数组进行排序?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-11 21:33:03546浏览

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

使用 Java Arrays.sort 根据第一列值对二维数组进行排序

在 Java 中,根据 a 的值对二维数组进行排序可以使用接受 Comparator 作为第二个参数的重载 Arrays.sort(T[] a, Comparator c) 方法来实现特定列。

考虑以下示例,其中我们有一个包含对的 2D 数组 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]);
    }
};

然后我们可以传递这个Arrays.sort 方法的比较器:

java.util.Arrays.sort(myArr, comparator);

或者,在 Java 8 或更高版本中,我们可以使用 lambda 函数来代替比较器的匿名内部类:

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