如果列表非常小,以至于性能不是真正的问题,则可以在中使用-class 的reverse
-metod 。产生漂亮的代码,并且原始列表保持不变。同样,反向列表由原始列表支持,因此对原始列表的任何更改都将反映在反向列表中。Lists
Google Guava
for-each
import com.google.common.collect.Lists;
[...]
final List<String> myList = Lists.newArrayList("one", "two", "three");
final List<String> myReverseList = Lists.reverse(myList);
System.out.println(myList);
System.out.println(myReverseList);
myList.add("four");
System.out.println(myList);
System.out.println(myReverseList);
产生以下结果:
[one, two, three]
[three, two, one]
[one, two, three, four]
[four, three, two, one]
这意味着myList的反向迭代可以写为:
for (final String someString : Lists.reverse(myList)) {
//do something
}
for (int i = nodes.size(); --i >= 0;)