CopyOnWriteArraySet基于CopyOnWriteArrayList
来源:5-8 并发容器及安全共享策略总结
![](http://img1.sycdn.imooc.com/user/5b8cd74c000157fd02000200-100-100.jpg)
慕慕1561859
2020-08-01
CopyOnWriteArraySet不是基于CopyOnWriteArrayList吗,为什么CopyOnWriteArrayList迭代器支持可变remove,CopyOnWriteArraySet迭代器不支持
写回答
1回答
-
Jimin
2020-08-03
你好,CopyOnWriteArraySet内部是采用CopyOnWriteArrayList实现的所有操作,所以除了CopyOnWriteArraySet拥有Set集合的特性即不允许重复元素以及不能通过下标获取插入元素之外,所有的特性都与CopyOnWriteArrayList一样,即CopyOnWriteArraySet也是采用直接拷贝原数组产生新数组的方式实现的线程安全的无界队列,它的迭代器特性与CopyOnWriteArrayList一样,在创建完迭代器实例只后对CopyOnWriteArraySet队列本身的更新不会反映到迭代器,迭代器相关的remove等更新方法也是无意义的,所以将直接抛出UnsupportedOperationException。
00
相似问题