我正在迁移一段代码以使用泛型。这样做的一个论点是 for 循环比跟踪索引或使用显式迭代器要干净得多。
在大约一半的情况下,现在使用索引以相反的顺序迭代列表(一个 ArrayList)。
有人可以建议一种更清洁的方法(因为我不喜欢indexed for loop使用集合时),尽管它确实有效?
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()); }