如果没有比较器功能,我可以对2D数组进行排序吗?

时间:2015-11-10 21:22:39

标签: java arrays sorting

我有一个2D数组,我要排序的值是在数组[0] [0] ...数组[0] [n]位置。我可以在不实现比较器功能的情况下调用Arrays.sort(数组)吗?

由于

2 个答案:

答案 0 :(得分:1)

是的,你可以做到。下次,试一试,看看。按行遍历数组,然后单独对每个进行排序。

int[][] array = new int[5][10];

for (int i = 0; i < array.length; i++) 
{
    array[i] = Arrays.sort(array[i])
}

以下是Arrays.sort的文档,以获取有关java.util.Arrays类中方法的更多信息。

答案 1 :(得分:0)

要对数组进行排序,有一些方法可以在没有Comparator的情况下进行排序,但String[][] table = {{"5", "A"}, {"2", "B"}, {"4", "C"}, {"1", "D"}, {"3", "E"}}; Arrays.sort(table, Comparator.comparingInt(arr -> Integer.parseInt(arr[0]))); System.out.println(Arrays.deepToString(table)); 是最简单的方法:

在Java 8中:

String[][] table = {{"5", "A"}, {"2", "B"}, {"4", "C"}, {"1", "D"}, {"3", "E"}};
Arrays.sort(table, new Comparator<String[]>() {
    @Override
    public int compare(String[] arr1, String[] arr2) {
        return Integer.compare(Integer.parseInt(arr1[0]), Integer.parseInt(arr2[0]));
    }
});
System.out.println(Arrays.deepToString(table));

在早期版本中:

{{1}}