前言
2021-3-5:ArrayList集合
ArrayList集合继承了AbstractList类,实现了List、RandomAccess、Cloneable和java.io.Serializable接口。源码如下:
一、ArrayList集合的特点
ArrayList集合实现了List接口,底层是数组,可以调整大小,有下标,可以随机访问,线程不安全。
源码分析:
DEFAULT_CAPACITY被final关键字修饰,定义了一个等于10常量,当调用到该集合的add方法时,如果集合容量为零,则会默认将集合扩容至10。
定义了Object类型的数组,用来存放集合元素,并且该数组被transient修饰,表示此数组不参数序列化。
定义了整形的size变量,表示该集合中含有的元素数量。
二、构造方法
1.有参构造
ArrayList(int initialCapacity):通过该形式可以创建容量为initialCapacity的集合。
源码分析:
/**
* Constructs an empty list with the specified initial capacity.
*
* @param initialCapacity the initial capacity of the list
* @throws IllegalArgumentException if the specified initial capacity
* is negative
*/
public ArrayList(int initialCapacity) {
super();
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal Capacity: "