java 根据map的key / value进行排序,超简单!
话不多说,直接上代码:
1 @Test 2 public void mapLambdaTest(){ 3 Map<String,Integer> map = new LinkedHashMap<>(); 4 map.put("张三",50); 5 map.put("李四",60); 6 map.put("王五",30); 7 map.put("赵六",10); 8 //如果想根据map的key进行排序的话只需要将comparingByValue 更改为comparingByKey()即可 9 map.entrySet().stream().sorted(Map.Entry.comparingByValue()).forEachOrdered(user -> { 10 map.remove(user.getKey()); 11 map.put(user.getKey(),(user.getValue())); 12 }); 13 System.out.println("正序"+map); 14 //同理:如果想根据map的key进行排序的话只需要将getValue 更改为getKey()即可 15 map.entrySet().stream().sorted((o1, o2) -> o2.getValue().compareTo(o1.getValue())) 16 .forEach(user -> { 17 map.remove(user.getKey()); 18 map.put(user.getKey(), user.getValue()); 19 }); 20 System.out.println("倒序"+map); 21 22 23 }
附加执行结果图:


浙公网安备 33010602011771号