参考答案
Iterator和 ListIterator的主要区别:
1. ListIterator 继承 Iterator。
2. ListIterator 比 Iterator多方法:
- add(E e) 将指定的元素插入列表,插入位置为迭代器当前位置之前;
- set(E e) 迭代器返回的最后一个元素替换参数e;
- hasPrevious() 迭代器当前位置,反向遍历集合是否含有元素;
- previous() 迭代器当前位置,反向遍历集合,下一个元素;
- previousIndex() 迭代器当前位置,反向遍历集合,返回下一个元素的下标;
- nextIndex() 迭代器当前位置,返回下一个元素的下标。
3. 使用范围不同,Iterator可以迭代所有集合;ListIterator 只能用于List及其子类。
4. ListIterator 有 add 方法,可以向 List 中添加对象;Iterator 不能。
5. ListIterator 有 hasPrevious() 和 previous() 方法,可以实现逆向遍历;Iterator不可以。
6. ListIterator 有 nextIndex() 和previousIndex() 方法,可定位当前索引的位置;Iterator不可以。
7. ListIterator 有 set()方法,可以实现对 List 的修改;Iterator 仅能遍历,不能修改。
以上,是Java面试题【Iterator和ListIterator的区别是什么】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—