Loading

ArrayList底层的实现原理

ArrayList底层是用动态的数组实现的。
ArrayList初始容量为0,当第一次添加数据的时候才会初始化容量为10。
ArrayList在进行扩容的时候是原来容量的1.5倍,每次扩容都需要拷贝数组。
ArrayList在添加数据的时候:

  • 确保数组已使用长度(size)加1之后足够存下下一个数据。
  • 计算数组的容量,如果当前数组已使用长度+1后的大于当前的数组长度,则调用grow方法扩容(原来的1.5倍)
  • 确保新增的数据有地方存储之后,则将新元素添加到位于size的位置上。
  • 返回添加成功布尔值。
posted @ 2024-05-15 15:26  worshipone  阅读(40)  评论(0)    收藏  举报