为什么for循环比forEach性能高?

简介: 为什么for循环比forEach性能高?

for( )循环 通过下标,对循环中的代码反复执行,功能强大,可以通过index取得元素。在处理比较复杂的处理的时候较为方便


forEach( )循环 forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。foreach有的也叫增强for循环,foreach其实是for循环的一个特殊简化版。注意,forEach() 对于空数组是不会执行回调函数的

for和forEach的区别 遍历

for循环按顺序遍历,forEach使用iterator迭代器遍历

数据结构

for循环是随机访问元素,foreach是顺序链表访问元素

性能上
对于arraylist,是顺序表,使用for循环可以顺序访问,速度较快;使用foreach会比for循环稍慢一些。 对于linkedlist,是单链表,使用for循环每次都要从第一个元素读取next域来读取,速度非常慢;使用foreach可以直接读取当前结点,数据较快;


如何选择 foreach相对于for循环,代码减少了,但是foreach依赖IEnumerable。在运行的时候效率低于for循环。当然了,在处理不确定循环次数的循环,或者循环次数需要计算的情况下。使用foreach比较方便。而且foreach的代码经过编译系统的代码优化后,和for循环的循环类似。


可以说,foreach语句是for语句的特殊简化版本,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。在复杂的循环设计时,还是应该使用for循环更加的灵活。


相关文章
|
1月前
|
存储 JavaScript 前端开发
`forEach()`方法和`map()`方法哪个执行效率更高?
`forEach()`方法和`map()`方法哪个执行效率更高?
|
2月前
了解foreach循环
了解foreach循环
|
5月前
|
JavaScript 前端开发
for 和 foreach 谁的执行效率更快
for 和 foreach 谁的执行效率更快
128 0
C#中For循环和Foreach循环的区别
C#中For循环和Foreach循环的区别
117 0
|
5月前
|
缓存 JavaScript 前端开发
为什么for循环比forEach性能高?
在 JavaScript 中,常用的循环有 for 循环和 forEach 循环。虽然两者都可以遍历数组,但它们的实现方式不同,因此性能也有所不同。
115 0
|
10月前
|
C#
C# for和foreach两种循环的效率问题
C# for和foreach两种循环的效率问题
|
存储 JavaScript 前端开发
JS的for循环,forin循环,forof循环,foreach循环map循环以及,reduce()循环 方法最实用详解。
JS的for循环,forin循环,forof循环,foreach循环map循环以及,reduce()循环 方法最实用详解。
|
Web App开发 JavaScript 前端开发
有了 for 循环 为什么还要 forEach ?
有了 for 循环 为什么还要 forEach ?
31935 4
有了 for 循环 为什么还要 forEach ?
|
Python
巧用list与for循环求和
巧用list与for循环求和
129 0
|
PHP 开发者
Foreach 循环|学习笔记
快速学习 Foreach 循环
132 0
Foreach 循环|学习笔记