Iterator:里面的数据不一定全都放内存里,list / collection 都会放在内存里
iterator:会保持状态,知道当前的位置
iterator :是一个迭代器,用来迭代 iterable (可迭代集合)
iterator:的next() 方法是每次用的时候查询(lazy)
iterator:是interface 方法:next() hasNext()
iterable:是interface 方法:iterator()
- Iterator 和 ListIterator 的区别
ListIterator 只能用于List及其子类型;Iterator可以应用于所有的集合(Set、List、Map等)
ListIterator 有 add() 方法,可以添加元素;而Iterator不能添加。
ListIterator 有 hasPrevious()和previous() 方法,可以实现向前遍历;Iterator不可以。
ListIterator 有 nextIndex()和previousIndex(),可以定位当前索引的位置;Iterator没有此功能。
ListIterator 有 set() 方法,可以实现对象的修改;Iterator仅能遍历,不能修改。
两者都有 remove() ,可实现删除操作
两者都有 hasNext()和next() 方法,都可以向后遍历
参考文章
listIterator,可以边遍历边修改