java for循环和for-each循环之间是否存在性能差异?

以下两个循环之间的性能差异(如果有)是什么?

for (Object o: objectArrayList) {

o.DoSomething();

}

for (int i=0; i<objectArrayList.size(); i++) {

objectArrayList.get(i).DoSomething();

}

回答:

版本1.5中引入的for-each循环通过完全隐藏迭代器或index变量,消除了混乱和出错的机会。结果成语同样适用于集合和数组:

// The preferred idiom for iterating over collections and arrays

for (Element e : elements) {

doSomething(e);

}

当你看到冒号(:)时,将其读为“ in”。因此,上面的循环读为“对于元素中的每个元素e”。请注意,即使对于数组,使用for-each循环也不会降低性能。实际上,在某些情况下,它可能只比普通的for循环提供一点性能优势,因为它只计算一次数组索引的限制。尽管你可以手动执行此操作(第45项),但程序员并非总是如此。

以上是 java for循环和for-each循环之间是否存在性能差异? 的全部内容, 来源链接: utcz.com/qa/400596.html

回到顶部