public interface Iterator<E>
对集合进行迭代的迭代器。迭代器代替了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不同:
-
迭代器允许调用方利用定义良好的语义在迭代期间从迭代器所指向的集合移除元素。
-
方法名称得到了改进。
下面的写法:List <String> sl=new ArrayList<String>();
sl.add("aa");
sl.add("bb");
sl.add("cc");
sl.add("dd");
for(String s : sl){
System.out.println(s);
sl.remove(s);
}
在运行的过程中,会抛出java.util.ConcurrentModificationException,也就是说,在迭代的过程中,是不允许删除Collaction中的元素的。
要在迭代的过程中,删除某些元素,则必须按照下面的写法:
for(Iterator it=sl.iterator();it.hasNext();){
System.out.println(it.next());
it.remove();
}