Java基础系列之ArrayList的增加、删除、扩容

本文深入解析Java中ArrayList的增加、删除和扩容机制。当添加第一个元素时,ArrayList容量初始化为10;添加第11个元素时,容量会扩展到15。继续添加元素,容量会按一定规则增长,确保空间充足。在指定位置插入元素或删除元素时,ArrayList会进行相应的内部操作调整元素位置。
摘要由CSDN通过智能技术生成

ArrayList扩容,新增,删除过程,原文出自:https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/collection/ArrayList%E6%BA%90%E7%A0%81+%E6%89%A9%E5%AE%B9%E6%9C%BA%E5%88%B6%E5%88%86%E6%9E%90.md
   特别说明:   

System.arraycopy(elementData, index+1, elementData, index, numMoved);   
// 将elementData中从index+1开始的元素,复制到elementData中从index位置开始的数组里

public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
其中:
Object src : 原数组   
int srcPos : 从原数组copy的起点
Object dest : 目标数组
int destPos : paste到目标数组的起点
int length  : 要copy的数组的长度


扩容: 操作:

   /**
     * 将指定的元素追加到此列表的末尾。
     */
    public boolean add(E e) {
        //添加元素之前,先调用ensureCapacityInternal方法
        ensureCapa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值