【常见集合篇05】ArrayList底层原理

53 阅读1分钟

ArrayList底层的实现原理是什么

  • ArrayList底层是用动态的数组实现的
  • ArrayList初始化容量为0.当我们第一次添加数据的时候才会初始化容量为10
  • ArrayList在进行扩容的时候是原来容量的1.5倍,每次扩容都需要拷贝数组
  • ArrayList在添加数据的时候
    • 确保数组已使用长度(size)加1后能够存下下一个数据
    • 计算数组的容量,如果当前数组已使用长度+1后的大于当前数组长度,则调用grow方法扩容(原来的1.5倍)
    • 确保新增的数据有地方存储后,则将新元素添加到位于size的位置上
    • 返回添加成功的boolean值

ArrayList list = new ArrayList(10)中的list扩容几次

image.png

该语句只是声明和实例了一个ArrayList,指定了容量为10,未扩容