List接口迭代器-ListIterator

1、公共接口ListIterator<E>继承自Iterator<E>。

2、列表迭代器允许程序员从列表两端的任意一端遍历列表,在迭代过程中修改列表,并且可以获得列表中迭代器的当前位置。列表迭代器ListIterator是没有当前元素的,它的游标位置总是位于(要求被返回的前一个元素)和(要求被返回的后一个元素)之间[个人理解例子:数字*2*3*4*5*6*,中的*即为游标位置,总是位于两个数字之间]。故列表长度为N的迭代器拥有(N+1)个可能的游标位置,如前面数字例子中的*,总比数字多一个。

    注意:就游标位置而言,remove()和set()方法是没有被定义的;这两个方法定义于:最后一个由next()方法或者prvious()方法返回的元素上。

这个接口是java集合框架中的一员。

3、方法总结: 

方法类型方法描述
voidadd()
插入列表规定的元素
booleanhasNext()
向前遍历列表时,如果列表有下一个元素则返回true
booleanhasPrevious()
反向遍历列表时,如果列表有下一个元素则返回true
Enext()
返回列表的下一个元素,并且游标前进一个单位
intnextIndex()
返回:顺序访问next()元素的索引值
Eprevious()
返回列表的前一个元素,并且游标后退一个位置
intpriviousIndex()
返回:顺序访问previous()元素的索引值
voidremove()
移除一个元素,该元素由next()方法或者previous()方法返回的最后一个元素。
voidset()
替换元素,该元素由next()方法或者previous()方法返回的最后一个元素。

























4、方法异常抛出类型

next():NoSuchElementException -元素不存在。

previous():NoSuchElementException -元素不存在。

remove():UnsupportedOperationException-移除操作不被列表迭代器支持。

                 IllegalStateException -在调用本方法前,并未调用next()或者previous()方法;或者在最后一次调用next()或previous() 方法后已经调用过。

set():UnsupportedOperationException-异常操作不被列表迭代器支持。

           ClassCastException -替代元素类型和指定列表允许的元素类型不匹配。

   IllegalArgumentException-参数类型和指定列表允许的元素类型不匹配。

           IllegalStateException在调用本方法前,并未调用next()或者previous()方法;或者在最后一次调用next()或previous() 方法后已经调用过。

add():UnsupportedOperationException-添加方法不备列表迭代器支持。

    ClassCastException -添加元素类型和指定列表允许的元素类型不匹配。

    IllegalArgumentException -参数类型和指定列表允许的元素类型不匹配。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值