foreach和for(i=0;i<collection.size();i++)的区别

       前段时间一直在看java的基础原理,其中很多代码优化的建议非常值得像我这样的初级程序员去学习和借鉴。其中有一个建议,让我产生了很多想法,我先把这个建议的大概内容说明一下:

       在程序中我们有多种遍历方式,一种写法是:foreach,另外一种写法是for(int i=0;i<collection.size();i++)。我刚步入这个行业就接触了这两种写法,但是我从来没有想过这两种写法有什么区别。

        foreach在jdk内部实现是采用链表结构从第一个元素开始逐步寻找下一个元素进行遍历和操作。而for(i=0;i<collection.size();i++)内部是无顺序随机访问机制,通过index索引下标快速访问数组内的元素。数据量不大的情况下,这两种情况差别不大,但是如果一旦数据量变大,那么效果差别也就明显了。所以以后要在不同的情景下使用不同的代码,明白内部的原理非常重要。

总结:

        1、多问自己几个为什么,不将就是发现的原动力。

        2、读书多,不一定你比别人多了解多少东西。但是知识渊博的人,一定是读书多的。

        3、不要因为书读不懂而不去读,这样你永远不会懂。

                

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值