1. 程式人生 > 其它 >前端面試題 及 答案

前端面試題 及 答案

技術標籤:javajava

Vector

基本屬性


    /**
     * 儲存vector的快取區。vector的容量是是個快取區(陣列)的長度
     */
    protected Object[] elementData;

    /**
     * Vector 所包含實際元素的數量
     */
    protected int elementCount;

    /**
     * vector自增量。
     * 如果容量增量小於或等於零,則每次需要增長時,向量的容量都會翻倍。
     */
    protected int capacityIncrement;

構造器

指定初始容量和自增量構造器


    /**
     * 指定初始容量和自增量
     *
     * @param   initialCapacity     初始容量
     * @param   capacityIncrement   自增量
     */
    public Vector(int initialCapacity, int capacityIncrement) {
    	//1.父類AbstractList的構造器
        super();
        //2.判斷引數合法性
        if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal Capacity: "+ initialCapacity); //3.初始化一個指定容量的陣列,並賦值給elementData this.elementData = new Object[initialCapacity]; //4.把傳入的自增量賦值給類成員變數capacityIncrement this.capacityIncrement =
capacityIncrement; }

指定初始容量構造器

    /**
     *  指定初始容量
     */
    public Vector(int initialCapacity) {
    	//呼叫指定初始容量和自增量構造器,把自增量設定為0
        this(initialCapacity, 0);
    }

無參構造器

    /**
     * 構造一個容量為10的列表
     */
    public Vector() {
    	//呼叫指定初始容量構造器,指定初始值為10
        this(10);
    }

指定集合元素的列表的構造器

    /**
     * Constructs a vector containing the elements of the specified
     * collection, in the order they are returned by the collection's
     * iterator.
     *
     * @param c the collection whose elements are to be placed into this
     *       vector
     * @throws NullPointerException if the specified collection is null
     * @since   1.2
     */
    public Vector(Collection<? extends E> c) {
        Object[] a = c.toArray();
        elementCount = a.length;
        if (c.getClass() == ArrayList.class) {
            elementData = a;
        } else {
            elementData = Arrays.copyOf(a, elementCount, Object[].class);
        }
    }

------------------------------------------------無敵分割線------------------------------------------------------

其他方法參考ArrayList…
vect = synchronized(ArrayList),簡單理解吧