一个 同步 列表将不会提供新的实现
Iterator。它将使用 同步
列表的实现。该执行的
iterator()就是:
public Iterator<E> iterator() { return c.iterator(); // Must be manually synched by user! }来自
ArrayList:
此类的迭代器和listIterator方法返回的迭代器是 快速失败的
:如果在创建迭代器之后的任何时间以任何方式对列表进行结构修改,除非通过迭代器自己的remove或add方法,否则迭代器将抛出ConcurrentModificationException
来自
ConcurrentlinkedQueue#iterator:
以适当的顺序返回对该队列中的元素的迭代器。返回的迭代器是一个 “弱一致性”
迭代器,它永远不会抛出ConcurrentModificationException,并保证遍历迭代器构造时存在的元素,并且可以(但不能保证)反映构造之后的任何修改。
这两个集合返回的迭代器在 设计上 是 不同的 。



