Java如何对数组列表进行排序:List <object []> </object []>

时间:2014-05-20 14:32:58

标签: java arrays sorting

Java如何对数组列表进行排序:List<String[]>

List<String[]> rows=new ArrayList<String[]>();

Collections.sort(rows);

Collections.sort(rows)给了我以下错误:

Bound mismatch: The generic method sort(List<T>) of type Collections is not applicable for the arguments (List<String[]>). 
The inferred type String[] is not a valid substitute for the bounded parameter <T extends Comparable<? super T>>

2 个答案:

答案 0 :(得分:4)

嗯,根据对象的自然顺序,这不是标准排序,因为数组没有自然顺序。

您可能正在寻找Collections.sort(rows,comparator),其中comparator是您的自定义Comparator对象,它告诉您&#34;哪个数组更大&#34;。
Comparator的实施显然取决于你想要的顺序。

答案 1 :(得分:0)

你必须使用比较器。

class StringArrayComparator implements Comparator<String[]> {

    public int compare(String[] s1, String[] s2) {
        // Conditions here.
    }
}

然后将其插入Collections调用:

Collections.sort(rows, new StringArrayComparator());

这将根据比较器中的条件对String[]列表进行排序。