import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IteratorTest1 {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
Iterator<String> iterator = list.listIterator();//迭代器是一次性的,用了就失效
/*
* 不能使用普通的for循环删除元素,数组的特点,删除中间某个元素,后面的元素替换该下表位置;
* 这将导致循环删除包含这个元素内后面所有的元素
* */
while(iterator.hasNext()){
String value=iterator.next(); //不要在单次循环中多次调用next()
if("c".equals(value)){
iterator.remove(); //用迭代器删除
}
}
System.out.println("-------------");
for(Iterator<String> iterator1=list.iterator();iterator1.hasNext();){
System.out.println(iterator1.next());
// list.add("dddd"); //迭代器其实就是在循环使用数组,所以不能同时编辑数组
}
}
}