gpt4 book ai didi

java - 为什么我们在迭代时无法删除 CopyOnWriteArrayList 中的元素?

转载 作者:行者123 更新时间:2023-12-02 12:19:29 25 4
gpt4 key购买 nike

我们可以在迭代时在 ArrayList 中执行删除操作,那么为什么我们不能在迭代时执行相同的操作 CopyOnWriteArrayList?

为什么这个过程中会出现UnsupportedOperationException?

最佳答案

CopyOnWriteArrayList 的所有修改器(添加、删除等...)只是创建新数组和 iterator()只需创建一个 Iterator使用阵列快照来排除干扰的可能性,文档:

The "snapshot" style iterator method uses a reference to the state of the array at the point that the iterator was created. This array never changes during the lifetime of the iterator, so interference is impossible and the iterator is guaranteed not to throw ConcurrentModificationException.

关于java - 为什么我们在迭代时无法删除 CopyOnWriteArrayList 中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45899062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com