美文网首页
Java中Iterator和ListIterator的区别

Java中Iterator和ListIterator的区别

作者: _情绪疯子 | 来源:发表于2019-10-30 08:55 被阅读0次

    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中Iterator和ListIterator的区别

          本文链接:https://www.haomeiwen.com/subject/ppnnvctx.html