【发布时间】:2015-10-01 09:54:03
【问题描述】:
我知道我们可以按以下相反的顺序遍历列表:
List<Object> lst;
ListIterator<Object> i = lst.listIterator(lst.size());
但是如果lst 是LinkedList 是否有效?我的意思是当我们获得指向列表末尾的ListIterator 时,实现是否会从乞求到list.size() 位置迭代列表(需要O(n) 时间,其中n 是列表的大小)?
如果是这样,有没有办法避免它?
【问题讨论】:
-
是的,它确实会遍历列表列表,从乞求到
list.size() -
@AshwaniDausodia 所以,在 C++ 中我们有 reverse_iterator。如何在 Java 中高效完成?
-
@Satya 正如我在问题中提到的那样,他们提出了解决方案。
-
@St.Antario 你可以实现你自己的双向链表。