以前在Java的List Iterator中

-1 java iterator

我使用Java的列表迭代器,我不明白以前的方法是如何工作的.我得到链接列表"B"的下一个元素,然后我尝试获取前一个元素"A",但我得到"B".

LinkedList<Character> abc = new LinkedList<Character>();
abc.add('A');
abc.add('B');
ListIterator<Character> iterator = abc.listIterator();
System.out.println(iterator.next());
System.out.println(iterator.next());
System.out.println(iterator.previous());
Run Code Online (Sandbox Code Playgroud)

输出为"A","B","B".

为什么它不起作用,它是如何在幕后工作的?

mrk*_*nic 7

来自JavaDocs:

返回列表中的上一个元素并向后移动光标位置.可以重复调用此方法以向后遍历列表,或者与下一次来回调用混合.(请注意,对next和previous的交替调用将重复返回相同的元素.)

这里重要的部分是:( 注意,对next和previous的交替调用将重复返回相同的元素.)