读书人

vector容量增大时是不是需要转移原数据

发布时间: 2011-12-08 21:33:54 作者: rapoo

vector容量增大时是否需要转移原数据
使用c3p0连接池 实际应用中 仍然有一些用户在更新数据时需要长时间的等待

java的vector实现原理是什么 当vector的容量用完此时再添加一个对象 引起容量的再分配 此时如何分配的?原有数据是否会因为容量变化而要转移?

请高手指点一二


[解决办法]
protected Object[] elementData;//里面就是一个object[]数组

Java code
private void ensureCapacityHelper(int minCapacity) {    int oldCapacity = elementData.length;    if (minCapacity > oldCapacity) {        Object[] oldData = elementData;        int newCapacity = (capacityIncrement > 0) ?        (oldCapacity + capacityIncrement) : (oldCapacity * 2);            if (newCapacity < minCapacity) {        newCapacity = minCapacity;        }            elementData = Arrays.copyOf(elementData, newCapacity);    }    } 

读书人网 >J2SE开发

热点推荐