java中迭代器的问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 09:26:36
目前正在学习java,写了一个有关迭代器的程序,如下:
LinkedList<Event> es = new LinkedList<Event>();
Iterator<Event> iter = es.listIterator();

while(iter.hasNext()) {
e = iter.next();
if(e.ready()) {
e.action();
System.out.println(e.description());
iter.remove();
}
}

说明:Event是一个类,e.action()中向es容器添加了Event,iter.remove()报错,ConcurrentModificationException。我想问一下怎么才能解决在迭代过程中向容器添加删除?

提前感谢一下~

使用Iterator迭代器是不能进行添加、删除、修改的。
可以使用for循环
for(int i=0;i<es.size();i++){
Event e = es.get(i);
if(e.ready()){
e.action();
System.out.println(e.description());
es.remove(i);
}
}