• foreach

foreach编译成字节码之后,使用的是迭代器实现的。

foreach特点:

  1. 无须获取容器大小
  2. 需要创建额外的迭代器变量
  3. 遍历期间得到的是对象,没有索引位置信息,因此不能进行赋值操作。
  • for

for特点:

  1. for需要获取容器大小,如果计算大小比较耗时,那么for循环效率会很低。
  2. for循环是根据容器的大小来防止越界,因此每次循环都需要进行一次比较。
  • 效率比较:

由于for循环的特性,每次循环都会进行比较,所以效率上不如foreach。但这个结论不是绝对的,还要考虑一下几点:

1. 如果只是读数据,优先选择foreach

2. 如果要写数据,即替换指定索引位置处的对象,就只能选择for

最新文章

  1. sublime的插件安装
  2. 从Bayesian角度浅析Batch Normalization
  3. linq查询一个字段的总和
  4. Sublime Text 2 一些常用的快捷键
  5. javascript获取类元素
  6. PHP-关于$_SERVER
  7. hdu 3389 Game 博弈论
  8. 监听器 listener 样例
  9. JSP中getParameter和getAttribute区别
  10. 第一百一十九节,JavaScript事件入门
  11. Java中需要总结的几个问题
  12. 去除VisualStudio中拼写错误检测的红色波浪线
  13. Web前端面试指导(十四):如何居中一个元素(正常、绝对定位、浮动元素)?
  14. SQL Server Alwayson概念总结
  15. (NO.00004)iOS实现打砖块游戏(十六):导弹发射道具的实现(下)
  16. springboot入门1
  17. poj3320 Jessica's Reading Problem(尺取思路+STL)
  18. svn 提交数据
  19. 【UI测试】--快捷键组合
  20. Spring组件扫描<context:component-scan/>详解

热门文章

  1. dao层方法中的@Param说明
  2. hdu 4992 Primitive Roots 【求原根模板】
  3. inline-block的间隙问题 box-orient属性 line-clamp属性 margin问题
  4. unity项目警告之 LF CRLF问题
  5. Ceiling analysis
  6. DataScope v1.0 多功能串口虚拟示波器使用介绍
  7. PHP-密码和token
  8. JS-让浏览器兼容ES6特性
  9. Linux_Bash常用脚本
  10. 用BP人工神经网络识别手写数字