Java 如何创建列表迭代器
我们可以利用List接口的listIterator()方法,它除了提供Iterator接口的常规操作外,还允许元素的插入、替换和双向访问。
语法
ListIterator<E> listIterator()
返回对此列表中元素的列表迭代器(按正确顺序排列)。
示例
以下是显示使用listIterator()方法的示例:
package com.tutorialspoint;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.ListIterator;
public class CollectionsDemo {
public static void main(String[] args) throws CloneNotSupportedException {
List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3,4,5));
System.out.println(list);
ListIterator<Integer> iterator = list.listIterator();
// Modify the list using listIterator
while(iterator.hasNext()){
Integer item = iterator.next();
iterator.set(item * item);
}
System.out.println(list);
// Removal of element is allowed
iterator = list.listIterator();
while(iterator.hasNext()){
Integer item = iterator.next();
if(item % 2 == 0) {
iterator.remove();
}
}
System.out.println(list);
// Addition of element is allowed
iterator = list.listIterator();
while(iterator.hasNext()){
Integer item = iterator.next();
if(item % 5 == 0) {
iterator.add(36);
}
}
System.out.println(list);
}
}
输出
这将产生以下结果:
[1, 2, 3, 4, 5]
[1, 4, 9, 16, 25]
[1, 9, 25]
[1, 9, 25, 36]