首页 >Java >java教程 >如何在 Java 中按第一列对 2D 双精度数组进行排序?

如何在 Java 中按第一列对 2D 双精度数组进行排序?

Linda Hamilton
Linda Hamilton原创
2024-11-10 18:46:02328浏览

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 及更高版本中,我们可以使用 lambda 表达式来简化比较器:

Arrays.sort(myArr, Comparator.comparingDouble(o -> o[0]));

以上是如何在 Java 中按第一列对 2D 双精度数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn