Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java的前一个列表迭代器_Java_Iterator - Fatal编程技术网

Java的前一个列表迭代器

Java的前一个列表迭代器,java,iterator,Java,Iterator,我使用Java的列表迭代器,我不明白前面的方法是如何工作的。 我得到链表的下一个元素“B”,然后我试图得到上一个元素“A”,但我得到了“B” LinkedList abc=新建LinkedList(); abc.添加(‘A’); abc.添加('B'); ListIterator迭代器=abc.ListIterator(); System.out.println(iterator.next()); System.out.println(iterator.next()); System.out.p

我使用Java的列表迭代器,我不明白前面的方法是如何工作的。 我得到链表的下一个元素“B”,然后我试图得到上一个元素“A”,但我得到了“B”

LinkedList abc=新建LinkedList();
abc.添加(‘A’);
abc.添加('B');
ListIterator迭代器=abc.ListIterator();
System.out.println(iterator.next());
System.out.println(iterator.next());
System.out.println(迭代器.previous());
输出为“A”、“B”、“B”

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

来自JavaDocs:

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


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

可能重复的@fantaghrocco不是这个问题的重复。这个问题问为什么
hasPrevious
在开始时返回
false
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());