在HashMap中,有一个明显的特征。在存储的时候,会有一个键值对的关系。键和值存在着一一对应(映射)的关系。而HashMap中的键相当与Set,无序不可重复。因此,在遍历的时候可以用Set集合得到HashMap中的键,然后通过Set集合得到迭代器,最后用迭代器遍历。
第一种:普遍使用,foreach来获取map的keyset再通过key取value
System.out.println("通过Map.keySet遍历key和value:");
for (String key : map.keySet()) {
System.out.println("key= "+ key + " and value= " + map.get(key));
}
第二种:通过Map.entrySet使用iterator遍历key和value
System.out.println("通过Map.entrySet使用iterator遍历key和value:");
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
第三种:通过Map.entrySet遍历key和value (推荐,尤其是容量大时)
System.out.println("通过Map.entrySet遍历key和value");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
第四种:通过Map.values()遍历所有的value,但不能遍历key
System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for (String v : map.values()) {
System.out.println("value= " + v);
}
}