钱塘江上潮信来,今日方知我是我
006-Java中ArrayList 的扩容机制是怎样的?
006-Java中ArrayList 的扩容机制是怎样的?

006-Java中ArrayList 的扩容机制是怎样的?

ArrayList底层是个Object 数组,当元素塞满了就得扩容。默认初始容量是10,扩容时新容量是原来的1.5倍,计算公式是oldCapacity + (oldCapacity >> 1).
扩容流程:
1.add元素时检查容量是否够用
2.如果不够,计算新容量=老容量*1.5
3.创建新数组,调用Arrays.copyOf0把老数据拷过去
4.elementData指向新数组

举个例子:初始容量10,塞第11个元素时扩到15,塞第16个时扩到22,塞第23个时扩到33,以此类推。

输入,输出,复盘,重复。

📊 本站数据

文章总数

12

本文阅读

0