我有以下对象
List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
如何根据地图中的值("Object")
对其进行排序?
答案 0 :(得分:7)
创建您自己的Comparator
并使用它。
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
}
});
答案 1 :(得分:2)
使用您自己的比较器(您必须实现给定的接口)
答案 2 :(得分:1)
使用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());
注意:我已经将key(Object)转换为String。您可以根据需要使用。