public static void main(String[] args) {
List<Map<String,Object>> list1 = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
map.put("num",33);
list1.add(map);
map = new HashMap<>();
map.put("num",22);
list1.add(map);
list1.add(map);
map = new HashMap<>();
map.put("num",11);
list1.add(map);
System.out.println("list1-->"+list1);
List<Map<String,Object>> list2 = new LinkedList<>();
Set<Map> set = new HashSet<>();
for (Map<String, Object> mapRes : list1) {
if(set.add(mapRes)){
list2.add(mapRes);
}
}
System.out.println("去重后:list2-->"+list2);
Collections.sort(list2, new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
//升序
return o1.get("num").toString().compareTo(o2.get("num").toString());
//return o2.get("num").toString().compareTo(o1.get("num").toString());//降序
}
});
System.out.println("排序后:"+list2);
}
执行结果: