【发布时间】:2015-06-26 18:54:46
【问题描述】:
我正在用 Java 编写以下循环,对于每个循环我想访问链表 r 的当前元素和下一个元素:
List<T> r = new LinkedList();
for (int i=0; i < r.size() - 1; i++) {
T current = r.get(i);
T next = r.get(i+1);
}
这可能会浪费,因为每次我调用 get(i) 时,它都是从头开始的,所以代码的运行时间顺序是 O(n^2)。如何使用 Iterator 实现相同的效果(这次将是 O(n))?这是我的第一次尝试:
while(it.hasNext()) {
T current = it;
T next = it.next();
}
【问题讨论】:
-
您使用的是哪个 List 实现?我假设 LinkedList 因为 ArrayList 有 O(1) 用于获取...
标签: java