1. 程式人生 > >list中有map,根據map的key進行排序

list中有map,根據map的key進行排序

List中有map,需要對map中的key進行從小到大排序,使用lambda表示式可以輕鬆實現。

        Collections.sort(list, (map1, map2) -> {
            Integer key1= (Integer) map1.get("需要排序的key");
            Integer key2= (Integer) map2.get("需要排序的key");
            return key1.compareTo(key2);
        });
        System.out.println("排序後的list:"+list);

map1和map2的key進行對比,如果key是String型別,只需要把型別轉換為String就行了。String的對比方式和Integer不一樣。如果是String型別的數字,它排序規則是1,10,11....2,20,21...3,30,31,適合帶有字母、漢字和數字的組合的排序,Integer直接就是按照數字實際大小進行排序。