Java基础|为什么不使用Vector而使用ArrayList

  • 1:ArrayList不是线程同步的,Vector是线程同步的。由于线程同步必然会影响性能,所以ArrayList的性能要好一点。如果是多线程,我们完全可以自己给ArrayList加锁而不需要使用Vector。
  • 2:ArrayList和Vector底层都是用数组存储数据的,大家都知道数组的长度不可变,所以为了实现动态数组的效果,ArrayList和Vector都需要设置数组的增长策略。当添加元素个数超过初始容量(capacity)时,ArrayList会将数组扩容到之前的1.5倍,而Vector会将数组扩容到之前的2倍,显而易见,ArrayList更有利于节约内存空间。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章