【发布时间】:2017-11-11 05:10:28
【问题描述】:
我遇到以下问题:
给定一个 ArrayList(我们称之为列表),我怎样才能“双迭代”通过它而不得到 ConcurrentModificationException?
这是我尝试过的:
iterator out = list.iterator();
iterator in;
while(out.hasNext()){
...
in = list.iterator();
while(in.hasNext()){
...
if(something)
in.remove();
}
【问题讨论】:
-
这是什么????
-
它在里面,抱歉我打字太匆忙了
-
您不能使用同一个列表的两个迭代器并使用一个迭代器删除一个元素,而另一个迭代器仍在忙于迭代该集合。
-
你为什么要这样做?您能否解释一下您打算通过这种双重迭代方法实现什么目标?
标签: java iterator concurrentmodification