Java:迭代集合的最佳方式(此处为ArrayList) | 您所在的位置:网站首页 › 经典迭代算法 › Java:迭代集合的最佳方式(此处为ArrayList) |
今天,当我得到一段已经使用过数百次的代码时,我很乐意编写代码: Iterating through a Collection (here ArrayList) 出于某种原因,我实际上看了Eclipse的自动完成选项,它让我想知道: 以下循环比其他循环更好用? 经典数组索引循环: for (int i = 0; i type array_element = collection.get(index);} Iterator hasNext()/ next(): for (Iterator iterator = collection.iterator(); iterator.hasNext();) { type type = (type) iterator.next(); } 我最喜欢的,因为它写得如此简单: for (iterable_type iterable_element : collection) {} 解决方法: 当你需要元素的索引时,第一个是有用的.这基本上等同于ArrayLists的其他两个变体,但如果使用LinkedList则会非常慢. 当您不需要元素的索引但在迭代时可能需要删除元素时,第二个是有用的.但这样做的缺点是IMO有点过于冗长. 第三个版本也是我的首选.它很短,适用于您不需要任何索引或底层迭代器的所有情况(即您只访问元素,不删除它们或以任何方式修改Collection – 这是最常见的情况). |
CopyRight 2018-2019 实验室设备网 版权所有 |