在LinkedList中向后移动的语法?

时间:2014-07-16 07:12:18

标签: java doubly-linked-list

我知道LinkedLists是以双向链接的方式实现的,因此每个节点都有一个下一个和一个前一个指针。但是,我无法找到用于访问先前节点的语法? 我查看了java api,并且有一种向后迭代链表的方法。 对我而言,暗示有一种简单的方法来访问先前的节点P:。

我正在尝试设计一个实验,以证明LinkedLists不仅仅是一个单一链接列表,但我无法思考如何在不在链接列表中向后移动的情况下这样做。

如果有可能请向我解释如何向后移动,非常感谢。

2 个答案:

答案 0 :(得分:8)

LinkedListlistIterator(int)方法。所以你可以使用:

// Start at the end...
ListIterator<Foo> iterator = list.listIterator(list.size());
while (iterator.hasPrevious()) {
    Foo foo = iterator.previous();
}

这并不是证明它是一个双向链接列表 - 例如,在单链表中可以非常低效地实现 - 但是这样做了我如何向后迭代链表。

答案 1 :(得分:3)

您可以调用LinkedList.listIterator(),它将返回一个可用于双向(下一个/上一个)的迭代器