反向遍历 ArrayList 最快、最有效的方法
有没有比使用 ListIterator 更快、更有效的方法?
ListIterator<Integer> itr = list.listIterator(list.size());
while(itr.hasPrevious()){
System.out.println(itr.previous());
}
Is there a quicker, more efficient means of doing so than using a ListIterator
?
ListIterator<Integer> itr = list.listIterator(list.size());
while(itr.hasPrevious()){
System.out.println(itr.previous());
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(5)
与酒说心事2024-11-17 09:19:28
您可以通过一行来反转
Collections.reverse(list);
ArrayList arrayList = new ArrayList();
arrayList.add("A");
arrayList.add("B");
System.out.println("Before Reverse Order : " + arrayList);
Collections.reverse(arrayList);
System.out.println("After Reverse : " + arrayList);
Output
Before Reverse Order : [A, B]
After Reverse : [B, A]
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
根据
List
和ListIterator
的实现,以下操作可能会(稍微)更快。对于
ArrayList
来说,这可能会更快,但对于LinkedList
来说,几乎肯定会更慢。最好的选择是只使用迭代器。
几乎可以肯定的是,无论您在循环中做什么工作都会抵消不使用迭代器所获得的任何性能。
Depending on the implementation of the
List
andListIterator
the following may be (slightly) quicker.This may be faster for an
ArrayList
but it will almost certainly be slower for aLinkedList
.Your best bet is to just use the iterator.
It is almost certain that whatever work you are doing in the loop will negate any performance gained by not using the iterator.