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>>
答案 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[]
列表进行排序。