Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中多维数组的排序_Java_Arrays_Sorting_Multidimensional Array - Fatal编程技术网

java中多维数组的排序

java中多维数组的排序,java,arrays,sorting,multidimensional-array,Java,Arrays,Sorting,Multidimensional Array,我正在尝试用java对2d数组进行排序。第一列是描述一种权限的int,第二列是描述应用程序类别的另一个整数。 我想对第一列进行排序,使第二列保持原样。 例如,如果我将[0][0]作为参数,我将返回该类别中使用最多的权限 很抱歉我的英语不好,谢谢你的帮助希望这有帮助: class 2DcolumnComparator implements Comparator { private int columnToSortOn; 2DcolumnComparator

我正在尝试用java对2d数组进行排序。第一列是描述一种权限的int,第二列是描述应用程序类别的另一个整数。 我想对第一列进行排序,使第二列保持原样。 例如,如果我将[0][0]作为参数,我将返回该类别中使用最多的权限

很抱歉我的英语不好,谢谢你的帮助

希望这有帮助:

    class 2DcolumnComparator implements Comparator {
        private int columnToSortOn;

        2DcolumnComparator(int columnToSortOn) {
        this.columnToSortOn = columnToSortOn;
    }

    public int compare(Object o1, Object o2) {
     String[] row1 = (String[])o1;
     String[] row2 = (String[])o2;

     return row1[columnToSortOn].compareTo(row2[columnToSortOn]);
    }
   }

使用
Arrays#sort(T[],Comparator)你可以添加一些你可能已经尝试过的代码吗?它的可能副本可能有助于展示人们将如何使用比较器。例如,Arrays.sort()而
Comparator
可能是一种方法(我感觉OP遗漏了一些重要信息),通常最好使用泛型版本。
      int array [][] = {{1,11},{2,34},{3,8},{8,4},{7,23}};

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