首页 >Java >java教程 >For 循环与 For-Each 循环:Java 中的迭代速度哪个更快?

For 循环与 For-Each 循环:Java 中的迭代速度哪个更快?

Linda Hamilton
Linda Hamilton原创
2024-12-17 06:19:24675浏览

For Loop vs. For-Each Loop: Which is Faster for Iterating in Java?

for 循环与 for-each 循环的性能比较

优化代码性能对于编程至关重要。在迭代对象列表时,开发人员通常面临使用传统 for 循环和 for-each 循环之间的困境。

考虑以下两个循环:

for (Object o : objectArrayList) {
    o.DoSomething();
}
for (int i=0; i<objectArrayList.size(); i++) {
    objectArrayList.get(i).DoSomething();
}

哪个循环执行得更快?

根据《Effective Java》中的第 46 条Joshua Bloch,两个循环之间没有明显的性能差异。事实上,在特定场景下,for-each 循环的性能可能会稍微优于 for 循环。

for-each 循环通过隐藏迭代器或索引变量来消除样板代码和潜在错误。该语法读作“对于元素中的每个元素 e”,简化了代码可读性。

此外,Bloch 指出 for-each 循环仅计算数组索引的限制一次,这消除了潜在的性能问题手动编写的 for 循环中存在瓶颈。

以上是For 循环与 For-Each 循环:Java 中的迭代速度哪个更快?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn