关于ArrayList扩容机制
2017-04-07 15:51
495 查看
ArrayList有两个属性,存储数据的数组elementData,和存储记录数目的size。
Vector有三个属性,存储数据的数组elementData,存储记录数目的elementCount,还有扩展数组大小的扩展因子capacityIncrement。
Vector有三个属性,存储数据的数组elementData,存储记录数目的elementCount,还有扩展数组大小的扩展因子capacityIncrement。
public void ensureCapacity(int minCapacity) { modCount++;//父类中的属性,记录集合变化次数 int oldCapacity = elementData.length; if (minCapacity > oldCapacity) { Object oldData[] = elementData; int newCapacity = (oldCapacity * 3)/2 + 1; if (newCapacity < minCapacity) newCapacity = minCapacity; elementData = (E[])new Object[newCapacity]; System.arraycopy(oldData, 0, elementData, 0, size); } }
public void ensureCapacity(int minCapacity) { modCount++;//父类中的属性,记录集合变化次数 int oldCapacity = elementData.length; if (minCapacity > oldCapacity) {//扩容的条件,数组需要的长度要大于实际长度 Object oldData[] = elementData; int newCapacity = ((oldCapacity * 3)/2 + 1)<minCapacity?minCapacity: ((oldCapacity * 3)/2 + 1); elementData = (E[])new Object[newCapacity]; System.arraycopy(oldData, 0, elementData, 0, size); } }
相关文章推荐
- 关于ArrayList的初始容量以及扩容的效率问题
- ArrayList 原理、 扩容机制
- 浅谈JAVA中HashMap、ArrayList、StringBuilder等的扩容机制
- ArrayList动态扩容机制
- 关于ArrayList的初始容量以及扩容的效率问题
- [Java集合源码阅读]-ArrayList扩容机制
- ArrayList的扩容机制
- ArrayList和Vector的扩容机制
- ArrayList扩容机制
- ArrayList和Vector的扩容机制
- ArrayList和Vector的扩容机制
- ArrayList和Vector区别以及其扩容机制
- ArrayList简介及扩容机制
- java源码分析(1)---------ArrayList的扩容机制
- ArrayList和Vector的扩容机制
- ArrayList和Vector的扩容机制
- 关于arrayList的初始量扩容以及扩容的效率
- ArrayList,HashMap,LinkedList 初始化大小和 扩容机制
- ArrayList动态扩容机制--源码解析