Iterator和ListIterator区别

Posted tudoukaoya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Iterator和ListIterator区别相关的知识,希望对你有一定的参考价值。

我们在使用List,Set的时候,为了实现对其数据的遍历,我们经常使用到了Iterator(迭代器)。

List和Set都有iterator()来取得其迭代器。对List来说,你也可以通过listIterator()取得其迭代器,两种迭代器在有些时候是不能通用的,Iterator和ListIterator主要区别在以下方面:

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

2:ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历,但是ListIterator有hasPrevious()和previous()方法,可以实现逆向(顺序向前)遍历。Iterator就不可以。

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

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

总结:

  ListIterator:可以增删改查、顺序向后向前遍历。

  Iterator:可以删、顺序向后遍历。

以上是关于Iterator和ListIterator区别的主要内容,如果未能解决你的问题,请参考以下文章

iterator和ListIterator的区别和用法

Java面试题|Iterator和 ListIterator有什么区别?

Iterator与ListIterator的区别

JAVA后端面试必知——ListIterator和Iterator的异同

JAVA后端面试必知——ListIterator和Iterator的异同

JAVA语法——经典题目09