在我看来for和foreach没有本质上的区别,都是循环执行的方法。

唯一的区别就是:

1、for需要先知道数组长度再操作,foreach不需要

2、foreach效率比for高很多,主要原因是for要进行很多次条件判断,另外从数组变量的数据结构来看

foreach直接通过结构体中next指针获取下一个值,而for循环需要根据key先进行一次hash才得到值。

结论:

在固定长度或长度不需要计算的时候for循环效率高于foreach;
在不确定长度,或计算长度有性能损耗的时候,用foreach比较方便.
并且foreach的时候会锁定集合中的对象.期间不能修改.

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
意见
建议
发表
评论
返回
顶部