Map<String, String> map = new HashMap<String, String>();
map.put("key1", "1");
map.put("key2", "2");
1.for循环遍历
keySet()遍历
for (String key : map.keySet()) {
System.out.println(key + " :" + map.get(key));
}
entrySet()遍历
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + " :" + entry.getValue());
}
2.
迭代器遍历
keySet()遍历
Iterator<String> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
String key = iterator.next();
System.out.println(key + " :" + map.get(key));
}
entrySet()遍历
Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, String> entry = iterator.next();
System.out.println(entry.getKey() + " :" + entry.getValue());
}
3. jdk8中lambda表达式遍历
map.forEach((k,v)-> System.out.println("key:"+k+"---value:"+v));
备注:for循环使用方便,但性能较差,不适合处理超大量级的数据
使用entrySet遍历的速度要比keySet快很多
推荐 数据量大的话推荐使用迭代器的entrySet()遍历