Map.entrySet迭代器会生成EntryIterator,其返回的实例是一个包含key/value键值对的对象。而keySet中迭代器返回的只是key对象,还需要到map中二次取值。故entrySet要比keySet快一倍左右。
for(String key : hashMap.keySet()){ System.out.println(key+"--------"+hashMap.get(key)); } Iterator<Map.Entry<String,String>> it = hashMap.entrySet().iterator(); while (it.hasNext()){ Map.Entry<String,String> entry = it.next(); System.out.println(entry.getKey()+"--------"+entry.getValue()); } System.out.println("通过Map.entrySet遍历key和value"); for(Map.Entry<String,String> entry : hashMap.entrySet()){ System.out.println("key="+entry.getKey()+" and value="+entry.getValue()); }