ListIterator接口
在List中使用。继承自Iterator接口,是Iterator接口的增强。
用于允许程序员沿任一方向遍历列表的列表的迭代器,在迭代期间修改列表,并获取列表中迭代器的当前位置。
Modifier and Type | Method and Description |
---|---|
void |
add(E e) 将指定的元素插入列表(可选操作)。 |
boolean |
hasNext() 返回 true 如果遍历正向列表,列表迭代器有多个元素。 |
boolean |
hasPrevious() 返回 true 如果遍历反向列表,列表迭代器有多个元素。 |
E |
next() 返回列表中的下一个元素,并且前进光标位置。 |
int |
nextIndex() 返回随后调用 next() 返回的元素的索引。 |
E |
previous() 返回列表中的上一个元素,并向后移动光标位置。 |
int |
previousIndex() 返回由后续调用 previous() 返回的元素的索引。 |
void |
remove() 从列表中删除由 next() 或 previous() 返回的最后一个元素(可选操作)。 |
void |
set(E e) 用 指定的元素替换由 next() 或 previous() 返回的最后一个元素(可选操作)。 |
// 使用列表迭代器,listIterator可以双向遍历,添加、删除及修改元素。
ListIterator listIterator = list.listIterator();
// 从前往后
while (listIterator.hasNext()) {
System.out.println(listIterator.next());
}
// 从后往前(此时“遍历指针”已经指向末尾)
while (listIterator.hasPrevious()) {
System.out.println(listIterator.previous());
}