ArrayList的继承关系
1.ArrayList继承自AbstractList,AbstractList是抽象类,实现了List结构,它是一个数组队列,提供了相关的添加、删除、修改、遍历等基本功能实现,方法子类对方法复用,如果子类有特有功能可以重写父类的方法
2.ArrayList实现了List接口,List接口继承自Collection接口,在Collection接口提供的方法基础上,有一些新的方法提供,比如get、set、add等特有方法
3.ArrayList实现了RandomAccess接口,即提供了随机访问功能,为List提供快速访问的功能
4.ArrayList实现了Cloneable接口,即包含了函数clone(),能被克隆
5.ArrayList实现了Serializable接口,意味着ArrayList支持序列化,能通过序列化去传输(IO)。
特征
1. ArrayList可以快速查找:在物理内存上采用顺序存储结构,因此可根据索引快速查找。
2.ArrayList只能存储基本类型和自定义类型。
3.ArrayList可以动态扩容: 当数组容量不够用时,创建一个比原数组容量大的新数组,将数组中的元素拷贝到新数组,再将新的元素也放入新数组中,最后将新数组赋给原数组。
源码的解读
add:添加元素
public