ArrayList扩容规则【学习笔记】

ArrayList扩容规则

无参构造初始化的时候,长度为0

在add方法第一次添加元素,扩容为10

以后每次扩容成之前的1.5倍,然后把旧数组拷贝到新数据,再把新数据放到新数组。旧数组被回收

扩容计算方式,比如之前是15

15 >> 1

=7

7+15=22为新数组长度

如果为addAll方法,且数组中没有元素,直接添加集合,会将数组扩容为 原始长度集合长度较大值

如果为addAll方法,且数组中有元素,直接添加集合,会将数组扩容为 应该扩容的长度添加元素之后的扩容长度较大值

如 长度为10 的数组 添加一个长度为6的集合

下次应该扩容为15,但是需要添加6个元素,所以15就装不下了,需要扩容到22

上一篇:Echarts基础圆环图


下一篇:7-2 两个有序链表序列的交集 (15 分)