在Java中迭代遍历列表是否更慢:
for (int i=0;i<list.size();i++) {
.. list.get(i)
}
Run Code Online (Sandbox Code Playgroud)
而不是:
for (Object o: list) {
... o
}
Run Code Online (Sandbox Code Playgroud)
Pab*_*dez 58
我假设你出于纯粹的好奇心而不会引用Knuth(有人可能会这样).
我相信一旦你的代码被编译,它就没有什么区别.它之前确实有所不同(示例2更具可读性和简洁性),所以请选择2号而不关心其余部分.
只需2美分
编辑
请注意,list.size()每次循环运行时,您在代码片段1中的代码都会计算,这可能会使它比第2代慢
再来一次编辑
我必须仔细检查的东西,Joshua Bloch建议使用for each循环(参见Effective Java的第 46项).我认为这结束了各种讨论.谢谢Josh!:)
| 归档时间: |
|
| 查看次数: |
69574 次 |
| 最近记录: |