Java ArrayList工作原理及实现

讲解工作原理和实现的几篇好文章:

http://yikun.github.io/2015/04/04/Java-ArrayList%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%E5%8F%8A%E5%AE%9E%E7%8E%B0/

http://www.importnew.com/9928.html

http://zhangshixi.iteye.com/blog/674856

读完以上几篇文章理解如何扩充为原来的1.5倍 这句话就够了。

不过一想到用复制就觉得它还有可以改进的地方。

这就够了吗?

面试题:小心题坑

ArrayList list = new ArrayList(20); 中的list扩充几次

A 0     B 1     C 2      D 3

有点迷惑人,大家都知道默认ArrayList的长度是10个, 所以如果你要往list里添加20个元素肯定要扩充一次(扩充为原来的1.5倍), 但是这里显示指明了需要多少空间,所以就一次性为你分配这么多空间,也就是不需要扩充了。

推荐看看这里,没有一个同学做错,我的天!赶紧放弃编程吧!!! http://www.nowcoder.com/questionTerminal/85bf28c36fa14484b950f07d269dcd49

你可能感兴趣的:(java,数据结构,面试题,ArrayList)