- 首先我们都知道在用Foreach遍历的时候,会在ArrayList内部创建iterator的内部类,也就是说他就是使用迭代器的hasnext(),next()的方法来遍历的。
- 然后ArrayList里面有个变量来记录他他的修改次数,他的内部类迭代器里也有个变量去记录修改的次数。
- 在每次操作之前,他都会进行一个比较,如果不一样的话,就会抛出异常。
- 所以在遍历的时候进行删除的话,还是直接拿到ArrayList的iterator()的方法,就直接把iterator的内部类给返回出来了。就可以用iterator的方法进行删除就可以了。