java中for循环和foreach循环区别与快慢

for循环和foreach循环的区别与快慢:

foreach请看:java的foreach循环

  • for循环是基于下标(偏移量)来定位的循环。
  • foreach是基于指针直接移动(地址运算)的循环。
  • 对于通过下标访问的ArrayList。使用下标访问的for循环效率本身就很高。所以foreach这种指针直接移动的效率可能甚至不如通过下标访问。但差别不会太大
  • 但对于链式结构LinkedList,for基于下标访问会每次从头查询,最好不要使用for。foreach循环使用指针直接偏移的高效的地址运算,效率会高非常多,差距也很大。链表循环超过10万次for循环可能会直接卡死,而foreach仍然只需要几毫秒。

猜你喜欢

转载自blog.csdn.net/likunkun__/article/details/83819374