ArrayList源码解析:ArrayList的定义
ArrayList源码解析
arrayList就是动态数组,可以动态的添加和减少元组,实现了ICollection和Ilist接口以及灵活的设置数组的大小。
1. ArrayList的定义
ArrayList是一个使用数组实现的集合,支持随机访问,元素有序且可以重复
在源码中定义如下:
public class ArrayList<E>
extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
ArraysList继承了AbstractList类,实现了List接口,RandomAccess接口,Cloneable接口,Serializable接口。
1.继承AbstractList类
2. 实现List接口
这个接口是list类集合的上层接口,定义了实现该接口的类都必须要实现的一系列方法。可以说是list集合实现的模板
3. 实现RandomAccess接口
一种标记接口,表示支持快速的随机访问。一些算法可以通过该接口来判断是否可以对该集合进行随机访问。
4. 实现Cloneable接口
一种标记接口,表示该类是可以被克隆的。也就是说,对于想实现浅拷贝就必须调用Object.clone方法,但是调用该方法的对象就必须实现Cloneable接口,否则就会抛出异常。
5. 实现Serializable接口
一种标记接口,表示可以被序列化。