*我们都知道TreeMap是排序的,但是它是对key进行排序的,要对value进行排序,可以用下面这种方法
*大致的思路是把TreeMap的EntrySet转换成list,然后使用Collections.sor排序。代码:
Map<String,Integer> result=new TreeMap<String,Integer>();
result.put(“aaaa”, 4);
result.put(“cccc”, 8);
result.put(“bbbb”, 6);
result.put(“ddddd”, 5);
List<Entry<String,Integer>> list=new ArrayList<Entry<String,Integer>>(result.entrySet());
Collections.sort(list,new Comparator<Map.Entry<String,Integer>>(){
//降序
public int compare(Entry<String,Integer> o1,Entry<String,Integer> o2){
return o2.getValue().compareTo(o1.getValue());
}
});
for (Entry<String, Integer> e: list) {
System.out.println(e.getKey()+":"+e.getValue());
}