面试题答案
一键面试- 何时触发扩容:
- 当向
ArrayList
中添加元素时,如果当前元素个数(size
)等于数组的容量(elementData.length
),就会触发扩容。
- 当向
- 扩容的大致倍数:
ArrayList
扩容时,新的容量是原来容量的1.5倍(准确来说是oldCapacity + (oldCapacity >> 1)
,即原容量加上原容量的一半)。例如,原容量为10,扩容后容量为15。- 扩容时,会先创建一个新的更大容量的数组,然后将原数组中的元素复制到新数组中。
ArrayList
中添加元素时,如果当前元素个数(size
)等于数组的容量(elementData.length
),就会触发扩容。ArrayList
扩容时,新的容量是原来容量的1.5倍(准确来说是oldCapacity + (oldCapacity >> 1)
,即原容量加上原容量的一半)。例如,原容量为10,扩容后容量为15。