目录
for循环和增强for哪一个遍历list集合更快,为什么?
ArrayList使用普通for循环效率更高,因为对于数组结构的数据来说,for循环采用的是下标访问。
但是LinkedList是通过链表实现的,for循环时每获取第i个元素都必须从头开始遍历;foreach是通过iterator实现的遍历,而iterator遍历就是从头开始遍历,遍历完只需要一次;所以使用增强for循环效率更高。
结论:for和foreach循环效率差不多,for循环稍微好一点;但是对于链表来说,for循环效率明显比foreach低。
总的来说:
底层是数组结构的集合,使用for循环索引来获取元素遍历会更快;
底层是链表的数据结构的集合,使用增强for循环迭代遍历直接获取元素,不需要进行索引计算和访问内存,因此速度更快。此外,增强for循环语法简洁,代码可读性更好,推荐使用。