ArrayList是我们常用的集合
这里不在一一罗列源码内容,只截取重点代码加以分析
elementData既为ArrayList存储对像的空间,由此我们可以看到ArrayList底层的数据结构是一个Object[]数组。
DEFAULT_CAPACITY定义了数组的默认初始化长度为10,当然也可以自定义数组初始化长度。
它的add(E e)既先对数组+1,然后吧对象放在数组的最后一个;
add(int index, E element),先对数组+1,再把数组(elementData)的数据从index向后移动一个位置,最后把对象存进数组的index位置
get()方法就是从数组中取值,不多说
重点了解一下数组扩容
把源数组长度加上其右移一位后的值,既为新数组的长度;大概是原数组长度的1.5倍。
ArrayList的操作既对数组的操作。
( 参考JDK1.7,ArrayList)