【问题标题】:previous in List Iterator of Java以前在 Java 的列表迭代器中
【发布时间】:2018-09-07 12:00:53
【问题描述】:

我用的是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”。

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

【问题讨论】:

标签: java iterator


【解决方案1】:

来自 JavaDocs:

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

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

【讨论】:

    猜你喜欢
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 2017-06-12
    • 2012-10-11
    • 2012-09-13
    • 1970-01-01
    相关资源
    最近更新 更多