1、底层数据结构是数组!
2、数组的特点: 固定长度,顺序储存,有下标,可重复
3、创建ArrayList时候,底层初始化一个空的数组,数组的类型是Object类型,数组名字是elementData.
4、当第一次添加元素时候,会根据底层代码调用grow方法从而创建一个数组长度为10的数组替换老的数组.
5、以后2到10次调用add方法(添加元素【数组长度未超过10】均不会扩容)。
6、第11次调用add方法时候,将再次调用grow方法进行扩容。(长度为与原来的1.5倍)
PS:扩容后的数组是 调用的Arrays工具类的复制方法创建新数组并对其进行赋值,并非老数组。zz