ArrayList相关总结

本文总结了ArrayList在Java中的继承关系,包括其作为AbstractList子类、List接口实现、RandomAccess接口及Cloneable和Serializable接口的使用。重点讨论ArrayList的特征,如快速查找能力、动态扩容机制,并对add、get和remove等核心操作的源码进行了解读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值