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接口

一种标记接口,表示可以被序列化。

posted @ 2021-09-19 11:43  锤子布  阅读(195)  评论(0编辑  收藏  举报