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中文网其他相关文章!