补充一点

来源:5-7 同步容器-2

慕粉2303619

2019-06-14

一个集合在集合中元素数量被修改时modCount都会进行自加.remove(),clear(),add()
老师举的例子里,foreach和Iterator实例的next()方法都会对modCount和expectedModCount进行比较,不相等就会抛出异常.

但可以通过调用迭代器的remove()方法,而不是调用集合的remove(index)方法来避免这个问题.
iterator.remove()方法会刻意地调整expectedModCount的值,使expectedModCount = modCount.

写回答

1回答

Jimin

2019-06-15

你好,这个补充的不错,课程里推荐那个方法就是因为这个原因所以不会出现异常。

0
0

Java高并发编程,构建并发知识体系,提升面试成功率

构建完整并发与高并发知识体系,倍增高薪面试成功率!

3923 学习 · 832 问题

查看课程