public class Demo01 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("zhangsan");
list.add("lisi");
list.add("wangwu");
list.add("zhaoliu");
Iterator it = list.iterator();
while (it.hasNext()) {
Object obj = it.next();
if ("wangwu".equals(obj)) {
list.remove(obj);
}
}
System.out.println(list);
}
}
运行结果
[zhangsan, lisi, zhaoliu]
如果删错其他元素:
public class ItaratorDemo01 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("zhangsan");
list.add("lisi");
list.add("wangwu");
list.add("zhaoliu");
Iterator it = list.iterator();
while (it.hasNext()) {
Object obj = it.next();
if ("zhaoliu".equals(obj)) {
list.remove(obj);
}
}
System.out.println(list);
}
}
运行结果抛出异常:
我知道使用迭代器遍历集合删除元素的时候不能使用集合的方法删除元素,但是为什么我第一次删除倒数第二个元素的时候捕获抛出异常呢?