Map集合的四种遍历方式
最近开发的项目中较常用到map来处理业务逻辑,如webSocket中用静态map来存储用户ID与socket对应进行长连接操作。
第一种:通过Map.keySet遍历key和value
for (Integer in : map.keySet()) {
//map.keySet()返回的是所有key的值
String str = map.get(in);//得到每个key多对用value
}
这种遍历形式只能遍历map的所有key值,可使用foreach循环取出其对应的value进行相关操作。
第二种:通过Map.values()遍历所有的value
for (String value : map.values()) {
System.out.println("value= " + value);
}
只能遍历map的value,但不能遍历key
第三种:通过Map.entrySet使用iterator遍历key和value
Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Integer, String> entry = it.next();
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
第四种:通过Map.entrySet遍历key和value
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}