排序列表<map <string,object =“”>&gt; </map <string,>

时间:2011-03-08 10:32:03

标签: java sorting collections

我有以下对象

List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();

如何根据地图中的值("Object")对其进行排序?

3 个答案:

答案 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。您可以根据需要使用。