Map排序,通过Value
这种方式 不论是 TreeMap HashMap ConcurrentHashMap 还是什么 都可以进行Value排序,只要实现Map接口
Map<String,Integer> map = new TreeMap<String,Integer>();
map.put("a", 1241);
map.put("d", 3);
map.put("b", 768);
map.put("c", 99);
List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(map.entrySet());
Collections.sort(list,new Comparator<Map.Entry<String,Integer>>() {
//升序排序
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
for (Map.Entry<String, Integer> e: list) {
System.out.println(e.getKey()+":"+e.getValue());
}