前段时间一直在看java的基础原理,其中很多代码优化的建议非常值得像我这样的初级程序员去学习和借鉴。其中有一个建议,让我产生了很多想法,我先把这个建议的大概内容说明一下:
在程序中我们有多种遍历方式,一种写法是:foreach,另外一种写法是for(int i=0;i<collection.size();i++)。我刚步入这个行业就接触了这两种写法,但是我从来没有想过这两种写法有什么区别。
foreach在jdk内部实现是采用链表结构从第一个元素开始逐步寻找下一个元素进行遍历和操作。而for(i=0;i<collection.size();i++)内部是无顺序随机访问机制,通过index索引下标快速访问数组内的元素。数据量不大的情况下,这两种情况差别不大,但是如果一旦数据量变大,那么效果差别也就明显了。所以以后要在不同的情景下使用不同的代码,明白内部的原理非常重要。
总结:
1、多问自己几个为什么,不将就是发现的原动力。
2、读书多,不一定你比别人多了解多少东西。但是知识渊博的人,一定是读书多的。
3、不要因为书读不懂而不去读,这样你永远不会懂。