List接口迭代器-ListIterator

来源:互联网 发布:linux ntp是什么意思 编辑:程序博客网 时间:2024/05/16 18:28

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

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

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

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

3、方法总结: 

方法类型方法描述voidadd()
插入列表规定的元素booleanhasNext()
向前遍历列表时,如果列表有下一个元素则返回truebooleanhasPrevious()
反向遍历列表时,如果列表有下一个元素则返回trueEnext()
返回列表的下一个元素,并且游标前进一个单位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 -参数类型和指定列表允许的元素类型不匹配。





0 0
原创粉丝点击