Java基礎|爲什麼不使用Vector而使用ArrayList

  • 1:ArrayList不是線程同步的,Vector是線程同步的。由於線程同步必然會影響性能,所以ArrayList的性能要好一點。如果是多線程,我們完全可以自己給ArrayList加鎖而不需要使用Vector。
  • 2:ArrayList和Vector底層都是用數組存儲數據的,大家都知道數組的長度不可變,所以爲了實現動態數組的效果,ArrayList和Vector都需要設置數組的增長策略。當添加元素個數超過初始容量(capacity)時,ArrayList會將數組擴容到之前的1.5倍,而Vector會將數組擴容到之前的2倍,顯而易見,ArrayList更有利於節約內存空間。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章