У меня есть ArrayList, который состоит из ArrayList, который состоит из строк: ArrayList<ArrayList<String>>
. Как я могу сортировать первую запись его внутреннего массива ArrayList? Например, я хотел бы это:Сортировать по первой записи ArrayList в ArrayList
a = [['1','apple'],['3','pear'],['2','banana'],['1',orange']]
стать:
a_sorted = [['1','apple'],['1','orange'],['2','banana'],['3','pear']]
Порядок дублирующих первых записей (например, apple
и orange
) не имеет значения. Я пробовал использовать Collections.sort(a,new ColumnComparator())
, но он не принимает ArrayLists. Это класс, я использовал:
public class ColumnComparator implements Comparator<ArrayList<String>>{
public int compare(ArrayList<String> ar1, ArrayList<String> ar2){
return ar1.get(0).compareTo(ar2.get(0));
}
}
'Collections.sort' должен принимать ArrayLists. Вы проходили в ArrayList или ArrayList? –
Какая ошибка вы получаете? – WilQu
Сортировка, сортировка по естественному порядку элементов. На этих подмассивах нет естественного порядка. –