在单线程应用程序中,可能会抛出java.util.ConcurrentModificationException异常。( )
正确
错误
在获取迭代器对象引用时,会创建迭代器的对象,迭代器有一个变量expectedModCount,这个变量被初始化为modCount,在之后的迭代过程中,只要这两个值保持一致,就不会报错;如果其中一个改变,另一个没有改变,就会抛错:ConcurrentModificationException。
import java.util.ArrayList;
import java.util.Iterator;
public class Test {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(2);
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
Integer integer = iterator.next();
if (integer == 2)
list.remove(integer);
//解决办法,使用:
//iterator.remove();
}
}
}
import java.util.ArrayList;
import java.util.Iterator;
public class Test {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(2);
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
Integer integer = iterator.next();
if (integer == 2)
list.remove(integer);
//解决办法,使用:
//iterator.remove();
}
}
}