Map<String, String> map = new HashMap<String, String>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
1、通过Map.Entry遍历(最常用,容量大时效率高)
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + ",value= " + entry.getValue());
}
2、通过Map.keySet遍历(最直观,较常用)
注意:若单独取key或value则为最佳方法,若两者都要则效率较慢,因为从键取值是耗时的操作。
for (String key : map.keySet()) {
System.out.println("key= "+ key + ",value= " + map.get(key));
}
//单独遍历map中的值
for (Integer value : map.values()) {
System.out.println("Value = " + value);
}
3、通过Map.entrySet使用iterator遍历
注意:此为最早版本的遍历方法,可兼容低版本JDK,也是唯一可进行删除项it操作的方法
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
//删除key1项
// if(entry.getKey().equals("key1")){
// it.remove();
// }
Map.Entry<String, String> entry = it.next();
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}