java中map集合遍历的五种方式

建立一个map,并存入数据

Map<Integer,Integer> map = new HashMap<>();

第一种遍历方式,通过keySet()

for(Integer key:map.keySet()){
	System.out.println("Key: " + key + ", Value: " + map.get(key));
}

第二种方式,使用迭代器,当有删除某些key-value的需求时候,使用这种

Iterator<Map.Entry<Integer, Integer>> iterator = map.entrySet().iterator();
while(iterator.hasNext()) {
	Map.Entry<Integer, Inteegr> entry = iterator.next();
	System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}

第三种,使用entrySet(),当容量大的时候推荐使用

for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
	System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}

第四种遍历方式:通过遍历 Map 的 values,只能遍历 Value,获取不到对应的 Key

for (int value : map.values()) {
	System.out.println("Value: " + value);
}

第五种遍历方式(JDK 1.8支持的 Lambda 表达式),如果要进行传值进去的话,要使用final

final int num = 5;
map.forEach((key, value) -> {
	value += num;
	System.out.println("Key: " + key + ", Value: " + value);
});

你可能感兴趣的:(leetcode,java)