1.使用无参构造函数创建对象,会使用长度为0的数组
2.使用ArrayList(int initialCapacity)创建对象,会使用容量为initialCapacity的数组
3.使用ArrayList(Collection<? extends E> c)创建对象,会使用c的大小作为数组容量
4.调用add(Object o),首次扩容为10,再次扩容为之前容量的1.5倍
5.调用addAll(Collection o),没有元素时扩容为Math.max(10,c的元素个数);有元素时扩容为Math.max(原容量的1.5倍,c的元素个数+ArrayList元素个数)