ArrayList(2)--构造和扩容

是什么?

  • ArrayList是较常用的队列的主要实现类。底层使用object[]数组存储(可以使用方法将其转换为线程安全)。线程不安全,效率高。

下面看看源码:

构造方法:

这是默认容量大小:10
image

我们常用的无参构造,先把element[]指向本来就有的空数组。不存在任何数据。
image

add方法:

从注释中我们看到,ArrayLisat.add()是将一个元素添加到数组末尾
image

CopyOf()

再看看如何扩容的?
先计算出要扩容的长度,在进行数组复制。
image

我们看扩容:
image

posted @ 2021-08-29 11:04  快乐的海盗  阅读(37)  评论(0编辑  收藏  举报