- ArrayList 继承关系
- ArrayList构造方法
- 底层原理
- ArrayList 封装了一个可以扩容的数组,当数据的长度大于数组的长度,数组变为原来长度的1.5倍,把老数组的数据copy到新的数组里面.
- 扩容的原理
- 扩容原理调用add方法的时候执行流程
- 调用remove方法执行的流程
- arrayList和LinkedList对比
- Arraylist特点
- 随机访问速度快,插入和移除的性能差
- 支持null元素
- 有顺序
- 元素可以重复
- 线程不安全
- ArrayList相关方法
- java System.arrayCopy
- 参考
- java System.arrayCopy
- 面试题
- 问题:ArrayList 访问元素的时间复杂度是多少?为什么
- 原因:ArrayList 底层是数组存储,数组在内存中是连续的地址空间,可以使用O(1)去访问元素,时间效率很高。
- arraylist使用场景
- 当数据随机访问比较频繁的话使用arraylist
- 问题:ArrayList 访问元素的时间复杂度是多少?为什么
- 参考