ArrayList與Vector區別表 | |
ArrayList | Vector |
一、實現原理:採用動態對象數組實現,默認構造方法建立了一個空數組 | 一、實現原理:採用動態數組對象實現,默認構造方法建立了一個大小爲10的對象數組 |
二、第一次添加元素,擴展容量爲10,以後的擴充算法:原來數組大小+原來數組的一半 | 二、擴充的算法:當增量爲0時,擴充爲原來大小的2倍,當增量大於0時,擴充爲原來大小+增量 |
三、不適合進行刪除或插入操做 | 三、不適合進行刪除或插入操做 |
四、爲了防止數組動態擴充次數過多,建議建立ArrayList時,給定初始容量。 | 四、爲了防止數組動態擴充次數過多,建議建立Vector時,給定初始容量 |
五、多線程中使用不安全,適合在單線程訪問時使用,效率較高。 | 五、線程安全,適合在多線程訪問時使用,效率較低 |
六、setSize若是設置的長度比當前元素個數要大的話,後面的元素將被置爲空值 |
一、ArrayList設置默認大小算法
ArrayList<String> arrayList = new ArrayList(20);
二、Vector設置默認大小數組
Vector<String> vector = new Vector(20);
三、Vector設置增量大小(第一個參數是初始容量,第二個參數是增量)安全
Vector<String> vector = new Vector(20,1);