Iterator
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
Collection
继承了 Iterable
接口:
iterator()
方法用于返回一个迭代器,供forEach
循环。
以ArrayList
为例,他的iterator
方法为:
其中,Itr
是ArrayList
的一个内部类,具体完成了迭代器的实现:
内部有一个指针cursor
,用于记录当前的迭代位置
每迭代一次,cursor
就向后移动一位
forEach循环将会使用该迭代器,如果发生并发修改,则会发生并发修改异常
List 接口同样提供了两个返回迭代器方法,并返回ListIterator
类型的迭代器。
主要是为了解决Iterator迭代器的并发修改异常的问题。
其中ListItr
如下: