📅  最后修改于: 2023-12-03 15:01:30.089000             🧑  作者: Mango
Java HashMap是一种实现Map接口的哈希表数据结构,其中的forEach()函数可以帮助开发者在遍历HashMap时更加方便。
map.forEach((key, value) -> {
// 操作代码
});
其中,map
为HashMap对象,(key, value)
为遍历时当前元素的Key和Value,{}
内为操作代码。
以下示例代码创建一个HashMap,将其元素遍历并输出:
import java.util.*;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
map.forEach((key, value) -> {
System.out.println("Key:" + key + ",Value:" + value);
});
}
}
输出结果为:
Key:A,Value:1
Key:B,Value:2
Key:C,Value:3
遍历过程中,如果在操作代码中需要调用HashMap的remove()、put()等方法修改元素,会抛出ConcurrentModificationException异常。为避免异常出现,建议在修改前将需要修改的Key和Value存入新的数据结构中,遍历结束后再遍历这个新的数据结构进行修改。
在Lambda表达式中使用局部变量时需要注意变量是否为final类型。如果不是final类型,则需要保证变量不被修改,否则编译器会报错。
Java HashMap的forEach()函数可以方便地遍历HashMap的元素,并进行相应操作。在使用时需要注意避免修改元素导致的ConcurrentModificationException异常,并注意Lambda表达式中使用局部变量的规范。