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

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

Linda Hamilton
发布: 2024-11-10 18:46:02
原创
318 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板