源码学习
ListInterator
ListInterator是List集合的迭代器。它的允许对集合以任意方向进行遍历、修改、获取当前的位置。它本·身是一个指针,通过移动指针来实现对集合的遍历等操作。而指针指向的位置并不是当前元素前一个位置,而是两个元素之间的位置,比如:在遍历集合{1,2,3}时,遍历到2时,指针处于1和2之间的位置,因此它可以通过next()和previous()方法很容易的获取到下一个元素和之前的元素,也可以通过nextIndex()和previousIndex()获取到下一个元素的位置和上一个元素的位置。
编号 | 方法名 | 解释 |
---|---|---|
1 | boolean hasNext() | 判断是否有下一个元素,如果有则返回true,否则返回false。 |
2 | int nextIndex() | 返回下一个元素的下标 |
3 | E next() | 返回下一个元素,如果没有下一个,则会报NoSuchElementException。 |
4 | boolean hasPrevious() | 判断是否有上一个元素,如果有则返回true,否则返回false。 |
5 | int previousIndex() | 返回上一个元素的下标 |
6 | E previous() | 返回上一个元素,如果没有上一个,则会报NoSuchElementException。 |
7 | void remove() | 删除下一个或者上一个元素,取决于刚刚执行的是next()方法还是previous()方法,如果没执行而调用该方法,则会报IllegalStateException。 |
8 | void set(E e) | 修改下一个或者上一个元素,取决于刚刚执行的是next()方法还是previous()方法,如果没执行而调用该方法,则会报IllegalStateException。 |
9 | void add(E e) | 在当前指针的previous位置插入指定的元素。 |