-1

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

对不起我的英语不好,谢谢你的帮助

4

2 回答 2

2

使用Arrays#sort(T[],Comparator<? super T>)功能

      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];
            }
        });
于 2012-11-07T16:31:27.760 回答
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]);
    }
   }
于 2012-11-07T16:29:43.080 回答