java Arrays.sort 二维数组

标签 java arrays sorting matrix

我希望根据 [][0] 的值对以下数组进行排序

double[][] myArr = new double[mySize][2];

例如,myArr 的内容是:

1      5
13     1.55
12     100.6
12.1   .85

我希望它到达:

1      5
12     100.6
12.1   .85
13     1.55

我希望在不必实现自己的排序的情况下做到这一点。

最佳答案

使用重载Arrays#Sort(T[] a, Comparator c)它将 Comparator 作为第二个参数。

double[][] array= {
{1, 5},
{13, 1.55},
{12, 100.6},
{12.1, .85} };

java.util.Arrays.sort(array, new java.util.Comparator<double[]>() {
    public int compare(double[] a, double[] b) {
        return Double.compare(a[0], b[0]);
    }
});

JAVA-8:我们可以使用如下的 lambda 函数来代替那个大比较器 -

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

关于java Arrays.sort 二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15452429/

相关文章:

java - 使用 UriBuilder 从 XmlAdapter 创建绝对 URI

c# - Cosmos DB 分页和排序

c - 在 C 中对数组进行排序时处理指针

python - 使用 PyQT 在 Python 中将二维整数数组重写为位图

algorithm - 为什么插入排序的 O(n) nlogn 运行时间是最理想的?

java - 无法在 Android 10 中创建目录

java - JUnit TestClass 无法识别类

java - 使用 JAXB 和 MOXy 将 Java 属性映射到多个 xml 属性

java - 在数组中的特定索引处插入

javascript - 各种迭代器性能差异的原因