ArrayList相关知识总结

1.定义

ArrayList是一个动态数组,也是我们常用的集合,它允许任何元素的插入,包括null。

ArrayList初始化容量为10,该容量代表了数组的大小,随着容器中容量的不断增加,容器的大小也会随着增加。在每次向容器中增加元素时,会进行容量检查,当快溢出时,会进行扩容操作。

ArrayList继承自 AbstractList,实现了 List 接口。同时还实现了 RandomAccess、Cloneable、Serializable 接口,所以ArrayList 是支持快速访问、复制、序列化的。

2.特征

1、ArrayList可以存放重复数据,也可以存放null值

2、ArrayList中元素存放和插入顺序一致,插入的元素是有序的

3、ArrayList集合底层采用的是动态数组来存储数据

4、动态扩容

5、非线程安全,异步

6、 擅长随机访问(get ,set)

3.1属性和默认值

//默认的初始容量10
private static final int DEFAULT_CAPACITY = 10;

//空数组实例
private static final Object[] EMPTY_ELEMENTDATA = {};

//存储数据:使用的是数组,数组存储的数据类型是Object
    private transient Object[] elementData;
//用来记录存放数据的个数
    private int size;

ArrayList底层存储元素是使用数组

数组 elementData.length:表示当前数组容量,最大存储的数据个数

size:实际存放的数据个数

3.2构造函数

    //有参构造函数:通过指定初始容量initialCapacity来实例化ArrayList
	public ArrayList(int initialCapacity) {
        super();
        //参数合法性校验
        if (initialCapacity < 0)
            throw new IllegalArgumentException("Illegal Capacity: "+initial
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心皿月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值