回覆列表
-
1 # 影片好笑
-
2 # 千鋒頭號粉絲
ArrayList
1)只能裝入引用物件(基本型別要轉換為封裝類);
2)執行緒不安全;
4)capacity預設為10,超出時,capacity自動增長0.5倍(oldCapacity >> 1)。
Vector:
1)只能裝入引用物件(基本型別要轉換為封裝類);
2)Vector透過synchronized方法保證執行緒安全;
3)底層也由陣列實現;
4)capacity預設為10(在構造方法中),超出時增長capacityIncrement的量,capacityIncrement小於等於0時,則增長1倍((capacityIncrement > 0) ? capacityIncrement : oldCapacity)。
LinkedList
1)只能裝入引用物件(基本型別會轉換為封裝類);
2)執行緒不安全;
4)連結串列透過Node物件實現。
(1)Vector比ArrayList先存在。Vector是同步的,Vector的物件是執行緒安全的;ArrayList是非同步的,ArrayList的物件不是執行緒安全的。同步影響執行效率,所以ArrayList比Vector效能好。(2)ArrayList和Vector都有一個初始的容量大小,當儲存的空間不夠時,需要增加儲存空間,Vector預設增長原來的一倍,而ArrayList是原來的0.5倍。ArrayList與Vector都可以設定初始的空間大小,Vector還可以設定增長的空間大小。