第一种遍历方法 :
先获取Map中的所有key值,然后根据key,依次从Map中去数据
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 }
第二种遍历方法 : Entry<String, String>>
1 Set<Entry<String, String>> entries = hashMap.entrySet(); 2 3 for (Entry<String, String> entry : entries) { 4 5 System.out.println(entry.getKey()+":"+entry.getValue()); 6 7 }
当少量的数据时,上述两种方法的效率是差不多的,
当数据比较多时,第二种还是要比第一种块。
当然上述说的两种遍历针对的情况是遍历出key-value.
如果是只想遍历key或value :
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 }