ListIterator继承了Iterator接口,相比于Iterator功能更强大,不过ListIterator只能处理List类型集合
List<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
list.add("eee");
ListIterator<String> lit = list.listIterator();
while (lit.hasNext()){//hasNext() 迭代器还有元素返回true
int a =lit.nextIndex();//获取下一个元素下标
int b = lit.previousIndex();//获取前一个元素下标
/**
* next向下遍历 previous向上遍历 (向上遍历一个元素后再向下遍历,将会从当前位置继续向下遍历,eg:迭代器位置在list的“ccc” previous向前遍历一个元素到“bbb",那么再向下遍历事将会被从bbb开始
*/
String str = lit.next();//获取下一个元素
String str1 = lit.previous();//获取上一个元素
// lit.remove();//移除当前元素
// lit.add("test");//在当前元素后面添加一个元素
if ("bbb".equals(str)){
lit.set("test");//给当前元素重新赋值
}
}
lit = list.listIterator(0);//重新指定迭代器开始位置
while (lit.hasNext()){
System.out.println(lit.next());
}