在java中以相反的顺序迭代列表

问题:

我正在迁移一段代码以利用泛型。这样做的一个参数是for循环比跟踪索引或使用显式迭代器要简单得多。
在大约一半的情况下,通过使用今天的索引,以相反的顺序迭代列表(ArrayList)。
有人可以建议一个更干净的方法吗(因为我不喜欢使用集合时的indexed for loop),虽然它有效吗?

 for (int i = nodes.size() - 1; i >= 0; i--) {
    final Node each = (Node) nodes.get(i);
    ...
 }

 注意:我无法在JDK之外添加任何新的依赖关系。

回答:

尝试这个:

// Substitute appropriate type.
ArrayList<...> a = new ArrayList<...>();

// Add elements to list.

// Generate an iterator. Start just after the last element.
ListIterator li = a.listIterator(a.size());

// Iterate in reverse.
while(li.hasPrevious()) {
  System.out.println(li.previous());
}

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Iterating through a list in reverse order in java

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

84 − 77 =