首页 > 代码库 > 对HashMap的value排序

对HashMap的value排序

HashMap<String,Long> sMap = new HashMap<String,Long>();
 sMap.put("张三", 90L);
 sMap.put("李四", 79L);
 sMap.put("王五", 88L);
 sMap.put("赵六", 76L);
 
 
 ArrayList<Entry<String,Long>> list = new ArrayList<Entry<String,Long>>(sMap.entrySet());   
 
 Collections.sort(list, new Comparator<Object>(){   
           public int compare(Object e1, Object e2){   
         int v1 = Integer.parseInt(((Entry<String,Long>)e1).getValue().toString());   
         int v2 = Integer.parseInt(((Entry)e2).getValue().toString());   
         return v2-v1;   
            
     }   
 });   
   
 for (Entry<String, Long> e : list){   
     System.out.println(e.getKey()+"  "+e.getValue());   

 }


输出结果:

张三  90
王五  88
李四  79
赵六  76