foreach是for的增强,是一个语法糖,对其反编译发现它其实依赖while循环和Iterator实现。
对List而言会触发fail-fast机制,抛出ConcurrentModificationException异常。考虑到并发修改。
解决方案;
1.普通for循环
2.Iterator提供remove
3.java8的filter过滤
4.使用fail-safe集合类: 如ConcurrentLinkedDeque类
foreach是for的增强,是一个语法糖,对其反编译发现它其实依赖while循环和Iterator实现。
对List而言会触发fail-fast机制,抛出ConcurrentModificationException异常。考虑到并发修改。
解决方案;
1.普通for循环
2.Iterator提供remove
3.java8的filter过滤
4.使用fail-safe集合类: 如ConcurrentLinkedDeque类