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"); //迭代器其实就是在循环使用数组,所以不能同时编辑数组 } }}