Java 为什么我们可以';是否在迭代时删除CopyOnWriteArrayList中的元素?
我们可以在迭代时在ArrayList中执行删除操作,那么为什么在迭代时不能执行相同的操作CopyOnWriteArrayList呢 为什么在此过程中出现不支持操作异常?CopyOnWriteArrayList的所有变种(添加、删除等)都只是在创建新数组,而Java 为什么我们可以';是否在迭代时删除CopyOnWriteArrayList中的元素?,java,Java,我们可以在迭代时在ArrayList中执行删除操作,那么为什么在迭代时不能执行相同的操作CopyOnWriteArrayList呢 为什么在此过程中出现不支持操作异常?CopyOnWriteArrayList的所有变种(添加、删除等)都只是在创建新数组,而迭代器()只需创建一个带有数组快照的迭代器,以排除干扰的可能性,文档: “快照”样式的迭代器方法使用对 迭代器创建点处的数组。这个数组永远不会 在迭代器的生命周期内发生更改,因此不会出现干扰 不可能,迭代器保证不会抛出 ConcurrentMo
迭代器()
只需创建一个带有数组快照的迭代器
,以排除干扰的可能性,文档:
“快照”样式的迭代器方法使用对
迭代器创建点处的数组。这个数组永远不会
在迭代器的生命周期内发生更改,因此不会出现干扰
不可能,迭代器保证不会抛出
ConcurrentModificationException
CopyOnWriteArrayList
的所有变种(添加、删除等)都只是在创建新数组,而iterator()
只是创建一个带有数组快照的迭代器,以排除干扰的可能性,文档:
“快照”样式的迭代器方法使用对
迭代器创建点处的数组。这个数组永远不会
在迭代器的生命周期内发生更改,因此不会出现干扰
不可能,迭代器保证不会抛出
ConcurrentModificationException
请显示您遇到问题的确切代码,并发布异常堆栈跟踪原因:原因可能与以下原因类似:始终阅读javadocs-它只是遵守合同。请显示您遇到问题的确切代码,以及异常堆栈后跟踪原因:原因可能与以下原因类似:总是阅读javadocs——它只是遵守它的契约。