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区别的主要内容,如果未能解决你的问题,请参考以下文章
Java面试题|Iterator和 ListIterator有什么区别?
JAVA后端面试必知——ListIterator和Iterator的异同