ArrayList有两种扩容方式:有参构造和无参构造方法
一、 无参构造方法:ArrayList<数据类型> arrayList = new ArrayList<数据类型>();
add() 方法和grow() 方法
1.add() 方法:
如果数组初始长度为0,则添加第一个元素时会将数组长度扩容为10。当数组容量不够时,按照原来容量的1.5倍进行扩容增长。
2.grow() 方法:
当所需的最小容量大于当前数组的长度,进行扩容用grow()方法。
二、有参构造方法:ArrayList<数据类型> arrayList = new ArrayList<数据类型>(8);
当集合已经添加完8个元素之后,进行扩容,是8的1.5倍扩容。
数组的最大容量在Integer.MAX_VALUE-8至Integer.MAX_VALUE之间,如果超出,则抛出OutOfMemoryError错误