您好,欢迎访问一九零五行业门户网

Java中Iterator和ListIterator的区别是什么?

iterator和listiterator是java三个游标中的两个,都是由java.util包中的集合框架定义的。那么它们之间有什么区别?下面本篇文章就来给大家介绍iterator和listiterator之间的区别,希望对大家有所帮助。
iterator是什么
iterator代表迭代器,是collection框架中的一个接口;用于遍历集合元素。它允许逐个迭代集合中的每个元素,从集合中获取元素或从集合中删除元素;但无法使用iterator修改集合中的任何元素。
iterator有一个iterator()方法,它会将迭代器返回到集合的开头。一旦得到一个集合开头的迭代器,然后遍历集合中的元素,就建立一个循环,每次循环迭代时调用hasnext()。
hasnext()如果返回true,则表示集合中存在下一个元素;如果返回false,则表示遍历所有元素。然后在循环内部,可以使用next()获取集合中的每个元素。next()方法返回集合的下一个元素。
缺点:
● 使用iterator,就只能向前移动集合。
● 使用iterator,就无法操纵或修改集合中的元素。
listiterator是什么
listiterator是collection框架中的一个接口;是用于扩展iterator接口的。使用listiterator,可以向前和向后遍历集合的元素。还可以添加、删除或修改集合中的任何元素。简而言之,我们可以说它消除了iterator的缺点。
listiterator的方法如下:
● hasnext():如果返回true,则确认集合中有更多元素。
● next():返回列表的下一个元素。
● nextindex():返回列表中下一个元素的索引。
● hasprevious():如果集合中有相反的元素,则返回true。
● previous():返回集合中的上一个元素。
● previousindex():返回集合中上一个元素的索引。
● remove():从集合中删除元素。
● set():修改集合中的元素。
● add():在集合中添加新元素。
iterator和listiterator之间的主要区别
1、遍历
使用iterator,可以遍历所有集合,如map,list,set;但只能在向前方向上遍历集合中的元素。
使用listiterator,只能遍历list实现的对象,但可以向前和向后遍历集合中的元素。
2、添加元素
iterator无法向集合中添加元素;而,listiteror可以向集合添加元素。
3、修改元素
iterator无法修改集合中的元素;而,listiterator可以使用set()修改集合中的元素。
4、索引
iterator无法获取集合中元素的索引;而,使用listiterator,可以获取集合中元素的索引。
相关视频教程推荐:《java教程》
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注相关教程栏目!!!
以上就是java中iterator和listiterator的区别是什么?的详细内容。
其它类似信息

推荐信息