Map<String,String> map1 = new HashMap<>();
map1.put("x","3");
Map<String,String> map2 = new HashMap<>();
map2.put("x","2");
Map<String,String> map3 = new HashMap<>();
map3.put("x","5");
List<Map<String,String>> list = new ArrayList<>();
list.add(map1);
list.add(map2);
list.add(map3);
System.out.println("排序前"+list); // 排序前[{x=3}, {x=2}, {x=5}]
if (list.size() > 0) {
Collections.sort(list,new Comparator<Map>() {
@Override
public int compare(Map o1, Map o2) {
int ret = 0;
//比较两个对象的顺序,如果前者小于、等于或者大于后者,则分别返回-1/0/1
ret = o1.get("x").toString().compareTo(o2.get("x").toString());//逆序的话就用o2.compareTo(o1)即可
return ret;
}
});
}
System.out.println("排序后"+list); // 排序后[{x=2}, {x=3}, {x=5}]
关于 List<Map<String,String>> 排序
最新推荐文章于 2025-11-01 21:16:00 发布
本文通过一个具体的Java代码示例展示了如何使用Collections.sort方法结合匿名内部类实现对List中Map对象的排序。示例中对含有不同数值的Map对象进行升序排序,并详细解释了比较器的具体实现。
1099

被折叠的 条评论
为什么被折叠?



