ArrayList底层结构和源码分析

**
1.ArrayList中维护了一个Object类型的数组elementData
transient Object[] elementData; transient表示瞬间,短暂的,表示该属性不会被序列化;
2.当创建ArrayList对象时,如果使用的是无参构造器,则初始elementData容量为0,第一次添加,则扩容elementData为10,如需再次扩容,则扩容elementData为1.5倍。
3.如果使用的是指定大小的构造器,则初始elementData容量为指定大小,如需再次扩容,则直接扩容elementData为1.5倍。
**

分析无参构造器中ArrayList源码
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
分析使用有参构造器,创建和使用ArrayList的源码
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45334970/article/details/129377042