Map<String, Integer> map = new HashMap<String, Integer>(); map.put("d", 2); map.put("c", 1); map.put("b", 1); map.put("a", 3); List<Map.Entry<String, Integer>> infoIds = new ArrayList<Map.Entry<String, Integer>>(map.entrySet()); //排序前 for (int i = 0; i < infoIds.size(); i++) { String id = infoIds.get(i).toString(); System.out.println(id); } //d 2 //c 1 //b 1 //a 3 //排序 Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() { public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { //return (o2.getValue() - o1.getValue()); return (o1.getKey()).toString().compareTo(o2.getKey()); } }); //排序后 for (int i = 0; i < infoIds.size(); i++) { String id = infoIds.get(i).toString(); System.out.println(id); } //根据key排序 //a 3 //b 1 //c 1 //d 2 //根据value排序 //a 3 //d 2 //b 1 //c 1
HashMap的两种排序方式
最新推荐文章于 2021-07-06 23:56:47 发布
本文介绍了一个使用Java实现的Map集合排序示例,首先创建了一个HashMap并填充了数据,然后通过转化为List并使用Collections.sort方法结合自定义Comparator实现了按key和value的排序。
571

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



