一、ListIterator认识
是List集合中特有的迭代器
java.util包下,使用时需要导包
继承自Iterator,所以可以用hasNext方法和next方法等
可以从后往前遍历
二、ListIterator的方法
hasPrevious()方法与hasNext()方法对应
previous()方法与next方法对应
他们的使用格式是一样的
hasNext方法和next方法格式详细解:
在此文章第三模块集合的遍历
代码实现遍历:
package collect;
import java.util.List;
import java.util.ListIterator;
import java.util.ArrayList;
public class Demo {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("hello");
list.add("java");
list.add("world");
ListIterator<String> li = list.listIterator();
while (li.hasNext()) {
String s = li.next();
if (s.equals("world")) {
li.add("javaee");
}
}
System.out.println(list);
}
}
与Iterator添加时候不同的是Iterator没有add方法,用的是是List中的add方法,ListIterator中有add方法,可以直接用,且与List中的add方法不同
调用add方法时会把实际修改值赋值给预期修改值,再次调用next时不会出现并发异常