treemap默认是按照ket排序,底层红黑树实现
public static void sortByValue() {
Map<String,Integer> map = new TreeMap<String, Integer>();
map.put("a", 1);
map.put("d", 2);
map.put("b", 3);
map.put("c",0);
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());
}
}