如何在Java中对二维数组进行排序?

数据挖掘 爪哇
2021-10-10 03:50:57

我有一个二维双数组。我需要按降序对我的基础列 1 进行排序。如何按降序对二维数组进行排序。

示例数据和代码如下:

package mypro.com;

public class SortDoubleArrary {    
    public static void main(String agrs[]) throws Exception{

        double[][] testdatset=new double[5][2];

        testdatset[0][0]=20.0;              
        testdatset[0][1]=0.20;

        testdatset[1][0]=100.0;             
        testdatset[1][1]=0.50;              

        testdatset[2][0]=10.0;              
        testdatset[2][1]=0.95;

        testdatset[3][0]=220.0;             
        testdatset[3][1]=0.35;              

        testdatset[4][0]=140.0;
        testdatset[4][1]=0.10;        
    }  
}

预期输出如下所示

 10.0    0.95
 100.0   0.5
 220.0   0.35
 20.0    0.2
 140.0   0.1
1个回答

java.util.Arrays 类中有一个重载的排序方法,它接受两个参数:要排序的数组和一个 java.util.Comparator 对象。

您可以在程序中添加以下代码行以获得预期的结果。

import java.util.Arrays;
import java.util.Comparator;


Arrays.sort(testdatset, new Comparator<double[]>() {      
        @Override
        public int compare(double[] o1, double[] o2) {
            return Double.compare(o2[1], o1[1]);
        }
    });