package com.zzt.collection; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /* 集合remove方法 remove方法会导致集合结构发生改变 重点:当集合的结构发生改变时,迭代器必须重新获取,如果还是用以前老的迭代器,会出现 异常:java.util.ConcurrentModificationException 如果使用迭代器遍历集合时需要移除当前元素可以使用迭代器对象的remove方法 */ public class CollectionTest04 { public static void main(String[] args) { List list = new ArrayList<>(); // 添加元素 list.add("zhangsan"); list.add("lisi"); list.add(123); list.add(456); // 获取迭代器对象 Iterator iterator = list.iterator(); /*// 移除元素 list.remove(1); // 遍历集合 while(iterator.hasNext()){ System.out.println(iterator.next());// java.util.ConcurrentModificationException }*/ /* while(iterator.hasNext()){ list.remove("zhangsan"); // System.out.println(iterator.next()); java.util.ConcurrentModificationException }*/ while(iterator.hasNext()){ System.out.println(iterator.next()); iterator.remove();//删除迭代器当前指向元素 } System.out.println(list.size()); } }