ArrayList扩容
2016-08-30 19:25:20 0 举报
ArrayList是Java中常用的动态数组,当添加元素时,如果当前容量不足以容纳新元素,就需要进行扩容操作。扩容是指重新分配一个更大的数组空间,并将原数组中的元素复制到新数组中。默认情况下,ArrayList的初始容量为10,每次扩容时,其容量会变为原来的1.5倍。例如,当添加第11个元素时,ArrayList会将容量从10增加到15。需要注意的是,频繁的扩容操作会影响性能,因此在使用ArrayList时,最好预估一下元素的个数,以便选择合适的初始容量和扩容策略。
作者其他创作
大纲/内容
大
需求容量比最大容量大
需求的容量小于0
是,整型的最大值
add()
是
抛出异常
minCapacity - elementData.length 0
grow(int minCapacity)
扩容,新容量扩大到原来的1.5倍
赋值
否
ensureExplicitCapacity(int minCapacity)
需要的空间和现有的数组长度大小相比
Start
modCount++
小
1
存储元素的数组elementData是否是默认的空数组
新容量比需要的容量小
minCapacity 取默认容量大小和传进来的参数的最大值
ensureCapacityInternal(int minCapacity)
hugeCapacity(int minCapacity)
newCapacity = minCapacity
add(E e)
新容量比最大容量大
elementData[size++] = e
newCapacity=huge(minCapacity)
原数组长度扩大,值保持不变
否,容量最大值
0 条评论
下一页