传入一个Map<String,Long> 返回…

2019-08-16 10:31:37来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

传入一个Map<String,Long> 返回它按value排序后的结果

 1    //传入一个Map<String,Long>  返回它按value排序后的结果 sort为正序还是倒序(-1倒序),size为要几条数据
 2     private static Map<String, Long> sortMapByValues(Map<String, Long> aMap, int sort, int size) {
 3 
 4         Set<Map.Entry<String, Long>> mapEntries = aMap.entrySet();
 5 
 6         List<Map.Entry<String, Long>> aList = new LinkedList<Map.Entry<String, Long>>(mapEntries);
 7 
 8         Collections.sort(aList, new Comparator<Map.Entry<String, Long>>() {
 9 
10             @Override
11             public int compare(Map.Entry<String, Long> ele1,
12                                Map.Entry<String, Long> ele2) {
13                 if (sort < 0) {
14                     return ele2.getValue().compareTo(ele1.getValue());
15                 }
16                 return ele1.getValue().compareTo(ele2.getValue());
17             }
18         });
19         // Storing the list into Linked HashMap to preserve the order of insertion.
20         Map<String, Long> aMap2 = new LinkedHashMap<String, Long>();
21         for (Map.Entry<String, Long> entry : aList) {
22             aMap2.put(entry.getKey(), entry.getValue());
23             if (aMap2.size() == size) {
24                 break;
25             }
26         }
27         return aMap2;
28     }

 


原文链接:https://www.cnblogs.com/ysyy/p/11200537.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:搭建Spring Initializr服务器

下一篇:《ElasticSearch6.x实战教程》正式推出