ArrayList

主要底层实现是数组Object[]

延迟加载,第一次add才分配默认容量: 10

扩容

满了之后,新建一个原来1.5倍的数组,并复制到新数组

添加

  • 直接添加到尾部
  • 复制一个新的数组,根据添加的 index 添加新数据

删除

  • 直接删除
  • 复制一个index5+1开始到最后的数组,然后把它放到index开始的位置

遍历

遍历ArrayList要比LinkedList快得多,ArrayList遍历最大的优势在于内存的连续性