这是我的代码:
public class Test {
public static void main(String[] args){
ArrayList<Integer> list = new ArrayList();
list.add(1);
list.add(2);
list.add(2);
list.add(2);
list.add(5);
int inteval = 0;
Iterator<Integer> it = list.iterator();
for(;it.hasNext();){
Integer n = it.next();
list.remove(n);
if (list.contains(n-inteval)){
list.remove(list.indexOf(n-inteval));
if (list.contains(n-inteval-inteval)){
list.remove(list.indexOf(n-inteval-inteval));
}else{
list.add(n-inteval);
list.add(n);
}
}
}
}
}
此代码将抛出 ConcurrentModificationException,我曾尝试使用 CopyOnWriteArrayList,但我发现它。next() 返回上次删除的值!我该如何解决?