首页 > 代码库 > ArrayList实现原理

ArrayList实现原理

继承关系:Object - Collection - AbstractList - ArrayList

public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable {}

size()代表ArrayList实际存储元素的数量

elementData 是"Object[]类型的数组",它保存了添加到ArrayList中的元素,扩容时扩大1.5倍,用a+a>>1 计算,效率高,用新elelment[] = Arrays.copy(旧element[],扩容后长度)完成扩容操作

遍历方式:3种

迭代器

随机访问

for in

其中随机访问效率最高,for in 次之,迭代器效率最差

ArrayList实现原理