ArrayList原理图
2021-08-14 16:49:01 12 举报
介绍ArrayList的add()添加元素方法和初始化逻辑
作者其他创作
大纲/内容
加入元素注意事项:
(一)添加元素
(二)初始化阶段
1.执行复制方法:System.arraycopy(),完成了将插入下标index之后的元素向后迁移了一个位置。 2.给index的位置设置新值: elementData[index] = element; 3.数组的元素size增加1;
ArrayList的添加元素
1.根据数组是否为空数组,计算出容量最小值minCapcity
添加成功,返回true
ArrayList添加元素
1.判断下标是否合理
1.初始化ArrayList对象
1.修改变量值modCount加一;2.根据容器最小值和容器的大小,判断是否需要扩容。
2.添加元素
(三)在执行位置插入元素逻辑图
1.如果最小值>容器容量大小,则扩容。2.新数组容量是旧数组容量的1.5倍; 3.通过Arrays.copyOf()完成数组内容迁移。4.完成数组扩容和元素迁移。
返回到第一步
ArrayList的构造函数
2.是否需要扩容,根据容量最小值和实际值比较;
1.学会掌握system.arraycopy()
1.下标是否合法;
1.扩容完成,然后返回,开始设置元素的值,添加元素成功;elementData[size++] = e;
3.设置对应下标的 值;
1.这个是浅复制,将原对象引用复制一个副本,修改副本或者原引用指定的对象,都会改变;
ArrayList的有参构造函数
3.获取元素原理;
2.这个是native方法。
1.设定容量大小,如果大于0,则之间初始化 elementData数组;如果等于0,则设定为空数 组EMPTY_ELEMENTDATA;如果小于0,则抛出异常;
收藏
收藏
0 条评论
下一页