Java中遍歷Map可以使用多種方式,以下是幾種常見的方法:
使用迭代器(Iterator)
Map<String, Integer> map = new HashMap<>();
// 向map中添加數據
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
String key = entry.getKey();
Integer value = entry.getValue();
// 打印key和value
System.out.println(key + ":" + value);
}
使用for-each循環
Map<String, Integer> map = new HashMap<>();
// 向map中添加數據
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
// 打印key和value
System.out.println(key + ":" + value);
}
遍歷key集合或value集合
Map<String, Integer> map = new HashMap<>();
// 向map中添加數據
for (String key : map.keySet()) {
Integer value = map.get(key);
// 打印key和value
System.out.println(key + ":" + value);
}
for (Integer value : map.values()) {
// 打印value
System.out.println(value);
}
使用Lambda表達式
Map<String, Integer> map = new HashMap<>();
// 向map中添加數據
map.forEach((key, value) -> {
// 打印key和value
System.out.println(key + ":" + value);
});
需要注意的是,在使用foreach或Lambda表達式遍歷Map時,如果需要對Map進行修改,則需要使用迭代器或顯式的調用Map的修改方法,否則會拋出ConcurrentModificationException異常。