为了账号安全,请及时绑定邮箱和手机立即绑定

关于for循环和for-每个循环之间有性能差异吗?

关于for循环和for-每个循环之间有性能差异吗?

PHP
蛊毒传说 2019-08-03 07:03:36
for循环和for-每个循环之间有性能差异吗?如果有的话,下面两个循环之间的性能差异是什么?for (Object o: objectArrayList) {     o.DoSomething();}和for (int i=0; i<objectArrayList.size(); i++) {     objectArrayList.get(i).DoSomething();}
查看完整描述

3 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

项目46有效Java约书亚·布洛赫:

版本1.5中引入的for-each循环通过完全隐藏迭代器或索引变量来消除杂乱和出错的机会。由此产生的成语同样适用于集合和数组:

// The preferred idiom for iterating over collections and arraysfor (Element e : elements) {
    doSomething(e);}

当您看到冒号(:)时,将其读为“in”。因此,上面的循环为“元素中的每个元素e”。注意,即使对于数组,使用for-each循环也没有性能损失。实际上,在某些情况下,它可能比普通的for循环具有轻微的性能优势,因为它只计算一次数组索引的限制。虽然您可以手工完成(项目45),但程序员并不总是这样做。


查看完整回答
反对 回复 2019-08-04
  • 3 回答
  • 0 关注
  • 501 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信