排序整数的arraylist的arraylist

Ahm*_*sud 4 java arraylist

我想整理一个整数的arraylist的arraylist,我需要帮助?

我被告知我需要实现比较器或者类比,然后使用collection.sort按顺序对列表列表进行排序......

ArrayList<ArrayList<Integer>> g = new ArrayList<ArrayList<Integer>>()

If you look at the list of list as the following example:
C1 – 5,4,10
C2 – 3,2,1
C3 – 7,8,6
First it will be sorted like this:
C1 – 4,5,10
C2 – 1,2,3
C3 – 6,7,8
Then it will be sorted like this
C1 – 1,2,3
C2 – 4,5,6
C3 – 7,8,10
Run Code Online (Sandbox Code Playgroud)

Ale*_*lex 15

没有错误检查空列表,但现在是.

List<List<Integer>> list = Arrays.asList(Arrays.asList(10, 5, 4), 
        Arrays.asList(3, 2, 1), Arrays.asList(7, 8, 6));
for (List<Integer> l : list) {
    Collections.sort(l);
}
Collections.sort(list, new Comparator<List<Integer>>() {
    public int compare(List<Integer> o1, List<Integer> o2) {
        return o1.get(0).compareTo(o2.get(0));
    }
});
System.out.println(list);
Run Code Online (Sandbox Code Playgroud)

使用Java 8,它变得更加简洁:

List<List<Integer>> list = Arrays.asList(Arrays.asList(10, 5, 4),
                Arrays.asList(3, 2, 1), Arrays.asList(7, 8, 6));
list.forEach(Collections::sort);
Collections.sort(list, (l1, l2) -> l1.get(0).compareTo(l2.get(0)));
System.out.println(list);
Run Code Online (Sandbox Code Playgroud)


npi*_*nti 6

您可以单独对每个列表进行排序.该Collections.sort(collection)会自动按升序排列的整数排序.