package com.company;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
ArrayList list =new ArrayList();
list.add("jack");
list.add("Annie");
list.add("Rose");
list.add("Tom");
Iterator it=list.iterator();
while(it.hasNext()){
Object obj=it.next();
if("Tom".equals(obj)){
it.remove();
}
//System.out.println(obj);不会删除Tom
}
System.out.println(list);//才会删除Tom
}
}
System.out.println(obj);会输出Tom不是很正常的吗。
你删除的是it迭代器里面的元素,跟obj对象有什么关系?
Iterator接口的remove方法将会删除上次调用next方法时返回的元素,如果想要删除指定位置上的元素,需要越过这个元素