map遍历

基本思想:

1.把要排序的map的用entrySet方法把map.entry取出来,放入一个List中

2.用Collentions类里面的sort方法对一个这个list进行排序

3.这个list里面已经有序了,我们可以遍历这个list里面的元素map.entry得到我们想要的结果

 

我们看一下Collections的sort方法:

 

public static <T> void sort(List<T> listComparator<? super T> c)

参数:

list - 要排序的列表。


c - 确定列表顺序的比较器。null 值指示应该使用元素的自然顺序 

 

下面是一个例子:

 

    public static List<Map.Entry<Character, Integer>> sortByValue(Map<Character, Integer> map) {
        
        List<Map.Entry<Character, Integer>> list = new ArrayList<Map.Entry<Character, Integer>>(
                map.entrySet());  //第一步
        
        
        Collections.sort(list, new Comparator<Map.Entry<Character, Integer>>() {
            public int compare(Map.Entry<Character, Integer> o1,
                    Map.Entry<Character, Integer> o2) {
                return (o1.getKey() - o2.getKey());
            }
        });            
        return list;
    }

 

 

 

posted @ 2014-04-28 16:24  mynona  阅读(202)  评论(0编辑  收藏  举报