讲解工作原理和实现的几篇好文章:
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