Map-HashMap-遍历

第一种遍历方法 :

先获取Map中的所有key值,然后根据key,依次从Map中去数据 (针对只取 Key 或者 Value 的情况

1         Map<String, String> hashMap = new HashMap<String, String>();
2         Set<String> keys = hashMap.keySet();
3             for (String key : keys) {
4                 System.out.println(key + " " + hashMap.get(key));
5             }        

 Map中提供了 Set<K> keySet() 和 Collection<V> values()

 Set  的遍历方法:

 1 Iterator iter = hashMap.entrySet().iterator(); 
 2 
 3 while (iter.hasNext()) { 
 4 
 5     Map.Entry entry = (Map.Entry) iter.next(); 
 6 
 7     Object key = entry.getKey(); 
 8 
 9     Object val = entry.getValue(); 
10 }

 

 

第二种遍历方法 :     Iterator 迭代器 

//第一种  
Iterator<String> iterator = hashMap.keySet().iterator();

    while (iterator.hasNext()) {

    String key = iterator.next();

   System.out.println(key);
    System.out.println(hashMap.get(key));
}
//第二种 ,这种方式比上面得快一些(数据量大的时候能体现出来)

Iterator<Map.Entry<String, String>> iterator = hashMap.entrySet().iterator();

  while (iterator.hasNext()) {

  Map.Entry<String, String> next = iterator.next();

 System.out.println(next.getKey());
 System.out.println(next.getValue());
}

 

  • List 和 Set 集合都实现了Iterable接口,所以他们的实现类可以使用迭代器遍历,map集合未实现该接口,若要使用迭代器循环遍历,需要借助set集合
  • 推荐使用 EntrySet 遍历,效率更高

                                         

 

 

posted @ 2019-11-05 13:22  Classis_Man  阅读(138)  评论(0)    收藏  举报