29. foreach与正常for循环效率对比

2016/10/8 17:4 下午 posted in  Java comments
for foreach
跳跃访问
修改当前访问值 能(但不能删除)
集合类型 效率稍高 稍低
数组类型 效率稍低 稍高
链表LinkedList 稍低 稍高

两种方式在遍历数组的时候时间普遍都较快,在遍历集合的时候耗时会更久一些。在遍历数组时,foreach的表现要稍微好一点,在遍历集合的时候,for的表现要好一点。但是不管哪种情况,for和foreach这两种遍历方式时间都相差不大。因此对于这两者的比较在时间效率来说应该相差不会很大(上面没有测试复杂数据的情况,以及其他集合结果的情况,可能不准确)。主要是在对于两者的应用场景上的选择:
(1)普通for循环可以根据下标来访问;
(2)foreach在代码结构上更加清晰、简单;
(3)foreach在遍历的时候会锁定集合中的对象,期间不能修改,而for能对集合中的元素进行修改。