java.util.ListIterator接口源码解析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012326462/article/details/85218970

1. 介绍

它是一个list迭代器,允许开发者向前或者向后去遍历一个list、修改一个list、获取迭代器在list中的位置。listIterator没有当前元素,它的位置游标在pre元素与next元素之间,所以一个长度为n的list的listIterator有n+1个可能的位置游标。

注意removeset方法不是依赖于当前游标位置,它依赖于最后一次操作的返回元素,可能是next方法,也可能是previous方法。

Iterator
ListIterator

2. 方法

2.1 hasNext

boolean hasNext();

如果这个list迭代器在前进方向上还有其它的元素,返回true

2.2 next

E next();

返回集合的下一个元素,并且使当前游标位置前进一个位置

2.3 hasPrevious

boolean hasPrevious();

如果这个list迭代器在反向方向上还有其它的元素,返回true

2.4 previous

E previous();

返回集合的上一个元素,并且使当前游标位置后退一个位置

2.5 nextIndex

int nextIndex();

返回下一个游标的索引,如果在list集合的末尾,则返回集合长度

2.6 previousIndex

int previousIndex();

返回上一个位置的索引,如果在集合的开始位置,则返回-1

2.7 remove

void remove();

移除最后一次调用next方法或者previous方法返回的元素,对于当前调用者来说,对一个元素只能调用一次。

注意:如果最后一次调用的是add,则会抛出IllegalStateException异常

2.8 set

void set(E e);

替换最后一次调用next或者previous的元素,如果最后一次调用的是add或者是remove,将会抛出IllegalStateException异常

扫描二维码关注公众号,回复: 5300734 查看本文章

2.9 add

void add(E e);

在next和previous元素之间插入一个值,不会影响调用next()方法,如果调用previous()方法,会返回这个新的元素

猜你喜欢

转载自blog.csdn.net/u012326462/article/details/85218970
今日推荐