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     }

附加执行结果图:

 

posted @ 2021-03-11 10:19  Leslie·qiu  阅读(826)  评论(0)    收藏  举报