本帖最后由 icris 于 2014-8-2 20:40 编辑
- public static void main(String[] args) {
- final HashMap<String, Integer> map = new HashMap<String, Integer>();
- map.put("a", 2);
- map.put("b", 1);
- map.put("c", 1);
- System.out.println(map);
- TreeMap<String, Integer> treeMap = sortByValue(map);
- System.out.println(treeMap);
- }
- private static TreeMap<String, Integer> sortByValue(
- final HashMap<String, Integer> map) {
- TreeMap<String, Integer> treeMap = new TreeMap<String, Integer>(
- new Comparator<String>() {
- public int compare(String o1, String o2) {
- Integer i1 = map.get(o1);
- Integer i2 = map.get(o2);
- if (!i1.equals(i2))
- return i1.compareTo(i2);
- return o1.compareTo(o2);
- }
- });
- treeMap.putAll(map);
-
- return treeMap;
- }
复制代码
一个小测试,像这样把要排序的 map 传进来就行了吧,泛型按需要改一下
update:修改了一个错误
|