- ·上一篇文章:java集合类总结
- ·下一篇文章:Iterator迭代器的使用
java中ListIterator使用方法
public interface ListIterator<E>
extends Iterator<E>
在使用 java 集合的时候,都需要使用 Iterator。但是 java 集合中还有一个迭代器 ListIterator ,在使用 List、ArrayList、LinkedList 和 Vector 的时候可以使用。
Iterator 和 ListIterator 主要区别有:
一、ListIterator 有 add() 方法,可以向 List 中添加对象,而Iterator不能。
二、ListIterator 和 Iterator 都有 hasNext() 和 next() 方法,可以实现顺序向后遍历。但是 ListIterator 有hasPrevious() 和 previous() 方法,可以实现逆向(顺序向前)遍历。Iterator 就不可以。
三、ListIterator 可以定位当前的索引位置,nextIndex() 和 previousIndex() 可以实现。Iterator 没有此功能。
四、都可实现删除对象,但是 ListIterator 可以实现对象的修改,set()方法可以实现。Iterator仅能遍历,不能修改。因为 ListIterator 的这些功能,可以实现对 LinkedList 等 List 数据结构的操作。
五、使用范围不同,Iterator 可以应用于所有的集合,Set、List 和 Map 和这些集合的子类型。而 ListIterator 只能用于 List 及其子类型。
[t]ListIterator方法摘要[/t]
void add(E e)
将指定的元素插入列表(可选操作)。
boolean hasNext()
以正向遍历列表时,如果列表迭代器有多个元素,则返回 true(换句话说,如果 next 返回一个元素而不是抛出异常,则返回 true)。
boolean hasPrevious()
如果以逆向遍历列表,列表迭代器有多个元素,则返回 true。
E next()
返回列表中的下一个元素。
int nextIndex()
返回对 next 的后续调用所返回元素的索引。
E previous()
返回列表中的前一个元素。
int previousIndex()
返回对 previous 的后续调用所返回元素的索引。
void remove()
从列表中移除由 next 或 previous 返回的最后一个元素(可选操作)。
void set(E e)
用指定元素替换 next 或 previous 返回的最后一个元素(可选操作)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | package cn.k88; import java.util.*; public class Example1 { public static void main(String[] args) { //@author Coder.bng List <String>list=new LinkedList<String>(); list.add("Coder.bing"); list.add("wangzheng"); list.add("bingfeng"); list.add("k88"); ListIterator <String>iter=list.listIterator(); iter.next(); iter.remove(); //remove Coder.bing for(String s:list) System.out.println(s+" "); iter.add("小学生"); iter=list.listIterator(); while(iter.hasNext()){ System.out.println(iter.next()); } } } |
java中ListIterator使用方法