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