请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

CopyOnWriteArraySet基于CopyOnWriteArrayList

CopyOnWriteArraySet不是基于CopyOnWriteArrayList吗,为什么CopyOnWriteArrayList迭代器支持可变remove,CopyOnWriteArraySet迭代器不支持

正在回答 回答被采纳积分+3

1回答

Jimin 2020-08-03 02:00:28

你好,CopyOnWriteArraySet内部是采用CopyOnWriteArrayList实现的所有操作,所以除了CopyOnWriteArraySet拥有Set集合的特性即不允许重复元素以及不能通过下标获取插入元素之外,所有的特性都与CopyOnWriteArrayList一样,即CopyOnWriteArraySet也是采用直接拷贝原数组产生新数组的方式实现的线程安全的无界队列,它的迭代器特性与CopyOnWriteArrayList一样,在创建完迭代器实例只后对CopyOnWriteArraySet队列本身的更新不会反映到迭代器,迭代器相关的remove等更新方法也是无意义的,所以将直接抛出UnsupportedOperationException。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信