一、java.util.Iterator:接口
1. Iterator接口的API:
> 1.boolean hasNext() :如果迭代具有下一个元素,则返回 true 。
> 2.E next() :返回迭代中的下一个元素。
> 3.default void remove() :从底层集合中删除此迭代器返回的最后一个元素。
二、java.lang.Iterable:实现此接口允许对象成为“for-each loop”语句的目标。
1. Iterable接口的API:
> 1.Iterator<T> iterator():返回类型为 T元素的迭代器。
2. 如果我们自己写的容器如果想要支持foreach方式遍历,就需要实现Iterable接口。
三、java.util.ListIterator:是Iterator的子接口,增加了从后向前的遍历方法和遍历时修改删除的方法。
1. ListIterator接口的API:
> 1. boolean hasNext():向后遍历列表,如果还有后一个元素返回 true。
> 2. E next():返回列表中的下一个元素,并且前进光标位置。
> 3. int nextIndex():返回后一个元素的索引。
> 4. boolean hasPrevious():向前遍历列表,如果还有前一个元素返回 true。
> 5. E previous():返回列表中的上一个元素,并后退移动光标位置。
> 6. int previousIndex():返回前一个元素的索引。
> 7. void add(E e):遍历时将指定的元素插入列表。
> 8. void set(E e):用指定的元素替换由 next()或 previous()返回的最后一个元素。
2. 使用遍历方法时要注意光标位置,在获取ListIterator迭代器的时候可以传入index来设定光标起始位置。