JDK1.8 Vector 源码相关分析

    /**
     * 底层实现逻辑: 数组 线性表 查询效率高,修改效率低
     * 所有的操作类同ArrayList 但是synchronize 线程安全
     * 效率低
     */
public class Vector<E>
    extends AbstractList<E>
    implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
    /**
     *
     * 存放的数组
     */
    protected Object[] elementData;

    /**
     * 集合的大小
     */
    protected int elementCount;

    /**
     * 扩容 因素可调整 2倍
     *
     */
    protected int capacityIncrement;
    /**
    * 默认的构造方法中存放的长度是10
    **/
        public Vector() {
        this(10);
    }
    /**
    * synchronized 新增是线程安全的
    **/
        public synchronized boolean add(E e) {
        modCount++;
        ensureCapacityHelper(elementCount + 1);
        elementData[elementCount++] = e;
        return true;
    }
}
   
posted @ 2023-01-18 16:02  李悠然  阅读(9)  评论(0编辑  收藏  举报