ArrayList解析

Posted learnsb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArrayList解析相关的知识,希望对你有一定的参考价值。

我们了解一个接口,最好的切入点是API官方文档,所以首先看下ArrayList接口的接口API:
public class ArrayList<E>
extends AbstractList<E>
implments List, RandomAccess, Cloneable, Serializable

我们首先看到ArrayList接口继承自抽象类AbstractList;关于AbstractList ,需要了解AbstractList 中
提供了两个迭代器的实现类,默认实现了迭代器接口,
实现了对元素的遍历(Itr和ListItr);
其内部只有一个抽象方法 get(也就是表明继承的子类如ArrayList只需要实现(覆盖)这一个抽象的get方法即可,可以用来获取元素);
如果子类要操作元素,还需要重写 add(), set(), remove() 方法,因为默认是不支持的。

然后看到ArrayList接口实现了List接口;List接口的特点:元素是对象,有序,可重复。List接口中需要了解一些
与下标有关的操作,
如get,set,add(注意有两个重载的add方法),indexOf等等,建议手动查看API文档。


接着ArrayList接口实现了RandomAccess接口,表明支持快速随机访问。

ArrayList接口实现了Cloneable标明ArrayList支持克隆;实现Serializable表明支持序列化,既可以将ArrayList以流的形式,通过ObjectInputStream/ObjectOutputStream来写/读。

就先酱紫。

以上是关于ArrayList解析的主要内容,如果未能解决你的问题,请参考以下文章

ArrayList源码解析

List源码解析之ArrayList源码分析

Java集合干货系列-ArrayList源码解析

arraylist源码解析

Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例

ArrayList解析