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