初始化:
public ArrayList()无参构造方法会创建一个长度为零的空数组
public ArrayList(int initialCapacity) 有参构造方法会按照指定容量initialCapacity创建数组
扩容:
add()方法:
当数组初始长度为零,添加第一个时会自动扩容长度为10
grow()方法:
当数组长度不为零,不够用时,在添加元素时会自动调用grow()方法进行扩容,扩容至原来的1.5倍长,数组的最大容量在Integer.MAX_VALUE-8至Integer.MAX_VALUE之间,如果超出,则抛出OutOfMemoryError错误