简介
- 是一个数组队列,容量能动态增长
- 继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable等接口
- 实现了RandmoAccess接口,即提供了随机访问功能,我们可以通过元素的序号快速获取元素对象
- 实现了Cloneable接口,能被克隆
- 实现java.io.Serializable接口,能通过序列化去传输
- 操作不是线程安全的
数据结构
- elementData:是”Object[]类型的数组”,支持动态增长。若使用默认构造函数,则ArrayList的默认容量大小是10。
- size:动态数组的实际大小
扩容方案:ArrayList会重新设置容量:新的容量=“(原始容量x3)/2 + 1”,比当前容量的一半多一个。数据会被拷贝到新数组中。
遍历方式
- 迭代器:效率低
- 随机访问:效率较高
- for循环
版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接,感谢各位看官!!!
本文出自:monkeyGeek
座右铭:生于忧患,死于安乐
欢迎志同道合的朋友一起交流、探讨!
