Java列表迭代器中的上一个

时间:2018-09-07 12:00:53

标签: 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());

输出为“ A”,“ B”,“ B”。

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

1 个答案:

答案 0 :(得分:7)

来自JavaDocs:

  

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

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