ArrayList是一个数组结构的存储容器,默认情况下数组的长度是10个(我们也可以在构建ArrayList的时候指定初始长度),随着我们不断的往ArrayList中添加数据,当添加的数据达到10个的时候ArrayList里面就没有足够的容量来存储后续的数据,这个时候ArrayList就会触发自动扩容。
扩容流程:
首先创建一个新的数组,这个新数组的长度是原来数组长度的1.5倍。
然后使用Arrays.copyOf()方法把老数组里面的数据拷贝到新的数组里面。
扩容完成之后,再把当前需要添加的元素加入到新的数组里面。