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]

Java的ListIterator的privious()方法解说

Java的ListIterator的privious()方法解说

之后的继续如此下去。


privious()方法有两个作用:

  1.返回迭代器指向的前一位置的元素,主要用来反向遍历。

2.改变迭代器的指向,使它指向前一位置。

在这里呢,只是应用了它的第二个作用,因为第一个作用很好理解,所以暂不做过多解说。