美文网首页
关于增强for循环不能使用list.remove

关于增强for循环不能使用list.remove

作者: surrealtire | 来源:发表于2020-02-25 20:01 被阅读0次

    转自网络

    ArrayList是线程不安全的,在被修改后再继续迭代就报错,modCount是指ArrayList的修改次数,每次add或remove都会自增,当迭代时,就是将这个modCount暂存在expectedModCount中,每次获取下一个元素时,都检查下修改次数是否有变动,有变动则不再继续迭代,而是抛出错误ConcurrentModificationException ,这样就强制要求在迭代时不能进行remove/add操作,而foreach会编译成迭代,所以foreach时也不能进行remove/add操作。

    相关文章

      网友评论

          本文标题:关于增强for循环不能使用list.remove

          本文链接:https://www.haomeiwen.com/subject/xjasqhtx.html