关于Map的遍历

想起之前有人问过我这个,那就顺手写一下Map的遍历

Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "a");
map.put(2, "b");
map.put(3, "ab");
map.put(4, "ab");

假设我们有以上Map,那么我们要遍历他们有什么方法呢?
方法一:用迭代器
    Iterator iterator= map.entrySet().iterator();
     while (iterator.hasNext()){
        // System.out.println(iterator.next());
         Map.Entry entry= (Map.Entry) iterator.next();
         System.out.println( entry.getKey());
         System.out.println( entry.getValue());
     }

用entryset的迭代器方法,扶植给迭代器

然后用while循环把iterator的值赋给entry,然后调用getKey和getValue方法即可

 

第二种:

 for(String value:map.values()){
            System.out.println(value);
        }

简单粗暴,就是没有value

 

第三种:

 for(Map.Entry entry:map.entrySet()){
            System.out.println(entry.getKey()+"    "+entry.getValue());
        }

简单好用,也是很粗暴,三行代码搞定

第四种:
for(Integerkey:map.keySet()){
            System.out.println(key+"  "+map.get(key));
        }

 



posted @ 2018-11-06 22:54  hickup  阅读(154)  评论(0编辑  收藏  举报