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