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