等风来不如追风去,追逐的过程就是意义。
在编程过程中经常要对map进行循环。但是经常记不住所以就记录一下方便自己以后查看。
Map有五种遍历方法
创建Map
Map<String,String> map=new HashMap<>();
map.put("Hat","帽子");
map.put("Coat","上衣");
map.put("Trousers","裤子");
map.put("Shoe","鞋子");
第一种:
keySet获取Map集合key的集合 然后在遍历key即可
for(String key:map.keySet()){
String value = map.get(key).toString();
System.out.println("key="+key+," vlaue="+value);
}
第二种:
通过迭代器(Iterator)的方式
Iterator<Entry<String, Object>> it = map.entrySet().iterator();
while(it.hasNext()){
Entry<String, Object> entry = it.next();
System.out.println("key="+entry.getKey()+" value="+entry.getValue());
}
第三种:
通过Map.entrySet遍历key和value,在大容量时推荐使用
for (Map.Entry<String, Object> entry : map.entrySet()) {
System.out.println("key="+entry.getKey()+" value="+entry.getValue());
}
第四种:
分别循环得到key和value
for(String key : map.keySet()){
System.out.println("key="+key);
}
for(String value:map.values()){
System.out.println("value="+value);
}
第五种:
JDK1.8特有的通过Lambda表达式
map.forEach((k, v) -> System.out.println("key=" + k + "value=" + v));