今天记录一下Map的四种遍历方法
首先,先建立一个Map
Map map = new HashMap();
map.put("1", "aaa");
map.put("2", "ccc");
map.put("5", "bbb");
map.put("4", "qqq");
第一种:使用Iterator遍历,利用Entry类:
Iterator iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry entry = (Entry) iterator.next();
System.out.println(entry.getKey()+":"+entry.getValue());
}
第二种:使用Iterator遍历,利用keySet获取key,相比于第一种略显繁琐:
Iterator iterator = map.keySet().iterator();
while(iterator.hasNext()){
String key = (String)iterator.next();
String value = (String)map.get(key);
System.out.println(key+":"+value);
}
第三种:使用for循环遍历,需要使用泛型:
Map<String, Object> map = new HashMap<String, Object>();
for (Map.Entry<String, Object> entry : map.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
以及只遍历value,使用Collection接收values():
Iterator it = map.values().iterator();
while(it.hasNext()){
System.out.println(it.next());
}
推荐使用第一种和第三种方法,相比于第二种,效率会有些提高