【面试:基础篇06:FailFast与FailSafe机制】
00.前言
有任何问题还请指出,感谢。
01.介绍:
迭代器进行迭代操作时是否可以修改被迭代对象 分为了 两种机制 一种是:FailFast机制,另一个是:FailSafe。
01.FailFast
FailFast机制是迭代器进行迭代操作时不可以修改被迭代对象,否则会抛出ConcurrentModificationException 译为 并发异常,主要的应用场景就是 多线程同时操作一个被迭代对象 为了保证数据的一致性 抛出异常。
02.FailFast
FailSafe机制是迭代器进行操作时可以修改被迭代对象,不会抛出异常 但迭代过程中 被迭代对象的值不变,迭代后改变被迭代对象。
02.代码
FailFast代码
ArrayList<Integer> L=new ArrayList<>();
for (int i=0;i<5;i++) {
L.add(i);
}
Iterator<Integer> it = L.iterator();
while (it.hasNext()){
int val = it.next();
L.add(5