ArrayList,LinkedList,Vector

Java提供了兩個類ArrayList和LinkedList,ArrayList的內部實現是基於內部數組Object[],ArrayList概念上更像數組,LinkedList內部實現是基於一組連接的記錄,概念上更像鏈表 數組

大體總結: 安全

1.ArrayList實現了基於動態數組,LinkedList基於鏈表結構 性能

2.在後面添加數據,更傾向於ArrayList,在中間添加或者刪除數據,更傾向於LinkedList spa

3.對於get和set,ArrayList優於LinkedList,由於LinkedList沿着連接的一端查找下去 線程

4.對於add和remove,LinkedList優於ArrayList,由於ArrayList要移動數據 rem

5.ArrayList和LinkedList都是線程不安全的 get


ArrayList與Vector的功能是類似的,ArrayList是線程不安全的,Vector的方法都是同步的(Synchronized),是線程安全的(thread-safe),所以ArrayList的性能比Vector要好 同步

當ArrayList和Vector的元素達到初始化的大小時,Vector會將它的容量翻倍,ArrayList增長50%,ArrayList更有利於節省空間 thread

相關文章
相關標籤/搜索