对DataArray进行排序

时间:2011-03-23 18:01:04

标签: java android arraylist

我有以下代码(简单明了):

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,11,111,然后是2,22,222等。 这样做的最佳做法是什么?如果使用Comparable - 请提供代码(从未使用过)。

1 个答案:

答案 0 :(得分:0)

而不是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);