使用列索引进行二维数组排序

时间:2013-08-20 10:49:10

标签: java sorting comparator

void sortarray(final int index){
        Arrays.sort(data, new Comparator<Object[]>(){
            @Override
            public int compare(Object[] o1,  Object[] o2) {
                String[] a = (String[])o1;
                String[] b = (String[])o1;
                return a[index].compareTo(b[index]);
            }
        });

    }
2 5 LouieChef B 
2 6 Lawson C 
2 10 BakerSarah D 
2 11 SmothersSally A 
2 12 SillySall C 
2 13 Viper B

如何在列索引上对二维字符串数组进行排序 这段代码不起作用......

1 个答案:

答案 0 :(得分:0)

以下代码应该有效

String[][] theArray = new String[][]{{"Enter values","Enter values"}, {more values, more values}};
Comparator<String[]> comparator= new Comparator<String[]>() {
       Arrays.sort(theArray, new Comparator<String[]>(){
                @Override
                public int compare(String[] o1,  String[] o2) {
                    return o1[0].compareTo(02[0]);
                }
            });
 Arrays.sort(theArray, comparator);

应始终尽量避免施法。虽然它应该可以使用你的方法(对象和强制转换为字符串),所以你的代码中可能还有其他一些错误。无论如何,如果您知道这将是您要排序的内容,最好明确告诉编译器您正在对字符串进行排序。