Vector 的简介
相当于支持支持并发操作的 ArrayList,和 ArrayList 用法基本相同,在 add(E e)等操作时加上了 synchronized 关键字来实现同步,ArrayList 扩容 1.5 倍,Vector 扩容 2 倍
官方文档:Vector 是个同步容器,如果不需要线程安全,建议使用 ArrayList
Vector 扩容 // 如果没有传入增长大小,默认增长一倍 private void grow(int minCapacity) { // overflow-conscious code int oldCapacity = elementData.length; int newCapacity = oldCapacity + ((capacityIncrement > 0) ? capacityIncrement : oldCapacity); if (newCapacity - minCapacity < 0) newCapacity = minCapacity; if (newCapacity - MAX_ARRAY_SIZE > 0) newCapacity = hugeCapacity(minCapacity); elementData = Arrays.copyOf(elementData, newCapacity); } 如果初始化 Vector 的时候指定了每次扩容的大小(capacityIncrement),扩容后数组大小为当前大小 +capacityIncrement 如果没有指定 capacityIncrement,扩容后数组大小为当前大小的两倍 参考官方文档 基于 JDK1.8
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于