您的位置:首页 > 其它

【集合】Iterator和ListIterator的区别和联系

2015-02-15 23:08 281 查看
List和Set都有iterator()来取得其迭代器。对List来说,你也可以通过listIterator()取得其迭代器,两种迭代器在有些时候是不能通用的,

Iterator和ListIterator主要区别在以下方面:

1. ListIterator有add()方法,可以向List中添加对象,而Iterator不能

2. ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历,但是ListIterator有hasPrevious()和previous()方法,

可以实现逆向(顺序向前)遍历。Iterator就不可以,Iterator中具备的功能只有hashNext(),next(),remove()。

3. ListIterator可以定位当前的索引位置,nextIndex()和previousIndex()可以实现。Iterator没有此功能。

4. 都可实现删除对象,但是ListIterator可以实现对象的修改,set()方法可以实现。Iierator仅能遍历,不能修改。

ListIterator中具备着对被遍历的元素进行增删改查的方法,可以对元素进行逆向遍历。

之所以如此,是因为ListIterator遍历的元素所在的容器都有索引。

5.Iterator是ListIterator的父接口。

6.Iterator是单列集合(Collection),是取出容器中元素的公共方式。

对于List,Set都通用。而ListIterator是List集合的特有取出元素方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iterator ListIterator