关于集合元素的remove 重点:当集合的结构发生改变时,迭代器必须重新获取,如果还是用以前的老的迭代器,会出现 异常:java.util.ConcurrentModificationException 重点:在迭代集合元素的过程中,不能调用集合对象的remove方法,删除元素: c.remove(); 出现异常:java.util.ConcurrentModificationException 获取迭代器对象,迭代器用来遍历集合,此时相当于对当前集合的状态拍了一个快照。 迭代器迭代的时候会参照这个快照进行迭代。 重点:在迭代元素的过程当中,一定要使用迭代器iterator的remove方法删除元素。
public static void main(String[] args) { //创建集合 Collection c=new ArrayList(); //注意:此时获得的迭代器,指向的是那时集合中没有元素状态下的迭代器 //集合只要发生改变,迭代器必须重新获取 //没有重新获取迭代器,调用next方法时:java.util.ConcurrentModificationException //Iterator it=c.iterator(); //添加元素 c.add(1); c.add(2); c.add(3); //获取迭代器 /*Iterator it=c.iterator(); while (it.hasNext()){ //编写代码时next()方法返回值类型必须是Object