当前位置: 首页 > 面试题库 >

Java:Iterator 和 ListIterator 有什么区别?

柳德义
2023-04-24

(1)ListIterator 继承 Iterator

(2)ListIterator 比 Iterator多方法

  1. add(E e)  将指定的元素插入列表,插入位置为迭代器当前位置之前
  2. set(E e)  迭代器返回的最后一个元素替换参数e
  3. hasPrevious()  迭代器当前位置,反向遍历集合是否含有元素
  4. previous()  迭代器当前位置,反向遍历集合,下一个元素
  5. previousIndex()  迭代器当前位置,反向遍历集合,返回下一个元素的下标
  6. nextIndex()  迭代器当前位置,返回下一个元素的下标

(3)使用范围不同,Iterator可以迭代所有集合;ListIterator 只能用于List及其子类

  1. ListIterator 有 add 方法,可以向 List 中添加对象;Iterator 不能
  2. ListIterator 有 hasPrevious() 和 previous() 方法,可以实现逆向遍历;Iterator不可以
  3. ListIterator 有 nextIndex() 和previousIndex() 方法,可定位当前索引的位置;Iterator不可以
  4. ListIterator 有 set()方法,可以实现对 List 的修改;Iterator 仅能遍历,不能修改。
 类似资料:
  • Iterator 接口源码中的方法: java.lang.Iterable 接口被 java.util.Collection 接口继承,java.util.Collection 接口的 iterator() 方法返回一个 Iterator 对象 next() 方法获得集合中的下一个元素 hasNext() 检查集合中是否还有元素 remove() 方法将迭代器新返回的元素删除

  • 问题内容: 两者都意味着空间,但是有什么区别吗? 问题答案: 一个是不间断空间,另一个是常规空间。不间断的空格表示该行不应在该点处换行,就像它不会在一个单词的中间换行一样。 此外,正如斯文德(Svend)在其评论中指出的那样,不间断的空间不会崩溃。

  • 本文向大家介绍<%# %> 和 <% %> 有什么区别?相关面试题,主要包含被问及<%# %> 和 <% %> 有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 答:<%# %>表示绑定的数据源 <%%>是服务器端代码块  

  • 问题内容: 以下代码之间有什么区别: 和 Python建议采用一种做事方式,但有时似乎不止一种。 问题答案: 一个是函数调用,一个是文字: 使用第二种形式。它更具Python风格,并且可能更快(因为它不涉及加载和调用单独的函数)。

  • 问题内容: 我们可以使用遍历a 或a 或a 。但是只能用于遍历a ,不能遍历a 。为什么? 我知道主要的区别在于,使用迭代器,我们只能在一个方向上运行,而我们可以在两个方向上运行。还有其他区别吗?和任何优势了? 问题答案: 差异在Listdocerator的Javadoc中列出 您可以 向后迭代 随时获取迭代器。 随时添加新值。 在这一点上设置一个新值。

  • 本文向大家介绍请你说说Iterator和ListIterator的区别?相关面试题,主要包含被问及请你说说Iterator和ListIterator的区别?时的应答技巧和注意事项,需要的朋友参考一下 考察点:迭代器 Iterator和ListIterator的区别是: Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。 Iterator对集合只能是前