for循环
for循环就是通过下标,对循环中的代码反复执行,功能强大,可以通过index取得元素。处理比较复杂的处理的时候比较方便
foreach循环
forEach()循环方法通过next()依次调用数组的每个元素,并将元素传递给回调函数。forEach是for循环的一个特殊简化版。forEach循环对于空的数组是不会执行回调函数的。
性能
在千万级的时候foreach的性能远高于for循环
在亿级的时候foreach的性能远低于for循环
二者的区别
对于 arraylist,是顺序表,使用 for 循环可以顺序访问,速度较快;使用 foreach 会比 for 循环稍慢一些。对于 linkedlist,是单链表,使用 for 循环每次都要从第一个元素读取 next 域来读取,速度非常慢;使用 foreach 可以直接读取当前结点,数据较快;
区别:
遍历:for循环按照顺序进行遍历,forEach使用iterator迭代器遍历
数据结构:for循环是随机访问元素,foreach是顺序链表访问元素
性能上:对于数组arraylist来说,是顺序表,使用for循环可以进行顺序访问,速度比较快;使用foreach循环会比for循环稍微慢一点。对于linedlist来说,是单链表,使用for循环每次都要从第一个元素读取next域来读取,速度非常慢;使用foreach可以直接读取当前的节点,数据较快。