Map集合按value的大小排序

 1 public static void main(String[] args) {
 2         Map<String, Integer> map = new HashMap<String, Integer>();
 3         map.put("os5", 10);
 4         map.put("os4", 13);
 5         map.put("os3",4);
 6         map.put("os2",6);
 7         map.put("os1", 20);
 8          List<Map.Entry<String, Integer>> infoIds = new ArrayList<Map.Entry<String, Integer>>(map.entrySet()); 
 9          Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() { 
10               public int compare(Map.Entry<String, Integer> o1, 
11               Map.Entry<String, Integer> o2) { 
12               return (o2.getValue() - o1.getValue()); 
13               } 
14         });
15          for(int i=0;i<infoIds.size();i++){
16              System.out.println(infoIds.get(i));
17          }
18          /* 返回的结果
19             os1=20
20             os4=13
21             os5=10
22             os2=6
23             os3=4 */
24     }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。