首页 > 代码库 > Map集合按value的大小排序

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=2020             os4=1321             os5=1022             os2=623             os3=4 */24     }

 

Map集合按value的大小排序