gpt4 book ai didi

Java:遍历集合的最佳方式(此处为 ArrayList)

转载 作者:IT老高 更新时间:2023-10-28 11:32:27 25 4
gpt4 key购买 nike

今天,当我找到一段我已经使用了数百次的代码时,我很高兴地编码:

Iterating through a Collection (here ArrayList)

出于某种原因,我实际上查看了 Eclipse 的自动完成选项,这让我感到疑惑:

以下循环在哪些情况下比其他循环更好用?

经典的数组索引循环:

for (int i = 0; i < collection.length; i++) {
type array_element = collection.get(index);
}

迭代器 hasNext()/next():

for (Iterator iterator = collection.iterator(); iterator.hasNext();) {
type type = (type) iterator.next();
}

我最喜欢的,因为它写起来很简单:

for (iterable_type iterable_element : collection) {

}

最佳答案

当您还需要元素的索引时,第一个很有用。这基本上等同于 ArrayList 的其他两个变体,但如果使用 LinkedList 会非常慢。

当您不需要元素的索引但可能需要在迭代时删除元素时,第二个非常有用。但这有个缺点,就是 IMO 有点过于冗长了。

第三个版本也是我的首选。它很短,适用于您不需要任何索引或底层迭代器的所有情况(即您只访问元素,而不是删除它们或以任何方式修改 Collection - 这是最常见的案例)。

关于Java:遍历集合的最佳方式(此处为 ArrayList),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5228687/

25 4 0