HashMap的遍历
HashMap<String, String> map=new HashMap<String, String>();
map.put("1", "Jack");
map.put("2", "Rose");
map.put("3", "Tom");
方式一:
首先调用Map对象的KeySet()方法,获得存储在Map中所有键的Set集合,然后通过Iterator迭代Set集合中的每一个元素,即每一个键,最后通过调用get(String key)方法,根据键获取对应的值
Set<String> keySet = map.keySet();
Iterator<String> it = keySet.iterator();
while (it.hasNext()) {
String key = it.next();
String value = map.get(key);
System.out.println(key + ": " + value);
}
或:
for (String key : map.keySet()) {
System.out.println(key + ": " + map.get(key));
}
方式二:
先获取集合中的所有映射关系,然后从映射关系中取出键和值
Set<Map.Entry<String, String>> entrySet = map.entrySet();
Iterator<Map.Entry<String, String>> it = entrySet.iterator();
while (it.hasNext()) {
// 获取集合中键值对映射
Map.Entry<String, String> entry = (Map.Entry<String, String>) (it.next());
// 获取Entry中的键
String key = entry.getKey();
// 获取Entry中的值
String value = entry.getValue();
System.out.println(key + ": " + value);
}
或:当hashMap很大时推荐使用
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
方式三:
通过valuse()方法,可以直接获取Map中存储所有值得Collection集合
Collection<String> collection = map.values();
Iterator<String> it = collection.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
或:
for (String value : map.values()) {
System.out.println(value);
}