在使用Iterator遍历集合对象的时候,如果调用集合对象的remove()方法使得集合对象的大小发生了改变,那么会抛出ConcurrentModificationException异常。只能使用Iterator迭代器对象的remove(),insert(),add()方法进行增删改。
注:迭代器内部维护着一些索引位置的相关数据,迭代过程中不能发生结构性变化(插入或者删除)。迭代过程中不能使用容器的删除方法,可以使用迭代器的remove()方法进行删除。
因此在使用foreach遍历集合对象时,无法对集合进行操作,虽然foreach使用了Iterator迭代器遍历集合对象,但是无法显式的调用迭代器对象进行操作。