Java的ListIterator的privious()方法解说
在Java的集合中,有个更强大的Iterator的子类型,它只能用于各种List类的访问,它就是ListIterator。
在解说privious()方法之前,我们应该知道,迭代器指向的位置是元素之前的位置,它不是直接指向元素的。
下面我们先看下以下的代码:
LinkedList<Integer> list = new LinkedList<Integer>();
ListIterator<Integer> it = list.listIterator();
for(int i = 1; i <= 10; i++) {
it.add(i);
if(i % 2 == 0)
it.previous();
}
System.out.println(list);
输出:[1, 3, 5, 7, 9, 10, 8, 6, 4, 2]
i = 1时,列表变成了[1]
i = 2时,执行了it.add( i)后,列表变成了[1, 2]
之后的继续如此下去。
privious()方法有两个作用:
1.返回迭代器指向的前一位置的元素,主要用来反向遍历。
2.改变迭代器的指向,使它指向前一位置。
在这里呢,只是应用了它的第二个作用,因为第一个作用很好理解,所以暂不做过多解说。