У меня есть следующий код (он прост):
ArrayList<ArrayList<Object>> dataArrays = new ArrayList<ArrayList<Object>>();
ArrayList<Object> dataList = new ArrayList<Object>();
dataList.add(4,44,444);
dataList.add(5,55,555);
dataList.add(6,66,666);
dataArrays.add(dataList);
dataList=null;
dataList.add(1,11,111);
dataList.add(2,22,222);
dataList.add(3,33,333);
dataArrays.add(dataList);
dataList=null;
.
.
.
Я хочу сортировать dataArrays по значению первого значения в массиве. Я хочу, чтобы первый массив в dataArrays составлял 1,11111, затем 2,22,222 и т.д. Какова наилучшая практика? Если вы используете Comparable - пожалуйста, поставьте код (он никогда не использовался).
Вместо ArrayList<ArrayList<Object>>
я использовал ArrayList<ArrayList<Integer>>
для упрощения кода.
ArrayList<ArrayList<Integer>> dataArrays = new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> dataList = new ArrayList<Integer>();
dataList.add(4);
dataList.add(44);
dataList.add(444);
dataArrays.add(dataList);
dataList = new ArrayList<Integer>();
dataList.add(1);
dataList.add(11);
dataList.add(111);
dataArrays.add(dataList);
Collections.sort(dataArrays, new Comparator<ArrayList<Integer>>() {
public int compare(ArrayList<Integer> arg0, ArrayList<Integer> arg1) {
return arg0.get(0).compareTo(arg1.get(0));
}
});
System.out.println(dataArrays);