我有以下对象:
List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
如何基于Map中的值("Object")
进行排序?
List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
如何基于Map中的值("Object")
进行排序?
比较器
并使用它。List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
Collections.sort(listMap,new Comparator<Map<String, Object>>() {
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
//your logic goes here
}
});
使用您自己的比较器(您必须实现给定的接口)
使用Java 8解决问题的最简单方法之一是:
Collections.sort(listMap, Comparator.comparing(map -> (String)map.get("key")));
listMap = listMap.stream().sorted(Comparator.comparing(map -> (String)map.get("key"))).collect(Collectors.toList());