0
在Java中,我有List<String[]> myList
,我希望能夠以各種方式進行排序。例如,按row[0]
或row[0]
,然後按row[1]
等進行排序,其中row[i]
爲String[]
,索引號爲i
。對String [] s的列表進行排序?
這樣做還是Java不支持它?
在Java中,我有List<String[]> myList
,我希望能夠以各種方式進行排序。例如,按row[0]
或row[0]
,然後按row[1]
等進行排序,其中row[i]
爲String[]
,索引號爲i
。對String [] s的列表進行排序?
這樣做還是Java不支持它?
JDK1.7的一個例子。您可以在比較器實現中更改索引。
List<String[]> myList = new ArrayList<String[]>();
myList.add(new String[]{"a","g","x"});
myList.add(new String[]{"c","f","y"});
myList.add(new String[]{"b","d","z"});
Collections.sort(myList, new Comparator<String[]>() {
@Override
public int compare(String[] o1, String[] o2) {
return o1[0].compareTo(o2[0]);
}
});
呵呵,不知道你可以傳遞Comparators作爲參數給Collections.sort()。涼!謝謝。 – KaliMa
查看[Comparator](https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html)中的靜態方法。例如,按每個數組中的第三個元素進行排序,可以使用比較器'List list = ...; list.sort(Comparator.comparing(a - > a [2]));' –