按字典顺序排序数组数组

时间:2014-03-20 12:48:33

标签: java arrays

我想知道如何对数组进行排序。例如,我有一个像

这样的char数组
0[a,b]
1[b,a]
2[a,a]

这应该分类到:

0[a,a]
1[a,b]
2[b,a]

换句话说,我想按字典顺序对不同的数组位置进行排序。

2 个答案:

答案 0 :(得分:1)

您可以为此定义Comparator<T>的实现,其中T是您希望按字典顺序排序的类型的数组:

String[][] a = ...
Arrays.sort(a, new Comparator<String[]>() {
    compare(String[] lhs, String[] rhs) {
        // Compare lhs to rhs, and return a result that indicates
        // which one comes earlier lexicographically
    }
});

答案 1 :(得分:-1)

如果它只是char数组,那么我只需要在数组中搜索第一个字母并对它们进行排序。如果有任何匹配,则按下一个字母对它们进行排序,依此类推。

最简单的方法是递归地执行,或者至少循环。