List, ArrayList, LinkedList, CopyOnWriteArrayList, Vectorjava
線程安全: Vector
, CopyOnWriteArrayList
, Collections.synchronizedList()
數組
線程非安全:ArrayList
, LinkedList
安全
數組:
ArrayList
Vecotr
CopyOnWriteArrayList
數據結構雙向鏈表:
LinkedList
性能
經過三個添加元素的過程圖,來看數據結構線程
ArrayList,Vector : 底層存儲爲數組code
LinkedList : 底層存儲爲雙向鏈表blog
CopyArrayList:底層存儲爲數組排序
ArrayList
接口
LinkedList
Vector
CopyOnWriteArrayList
List
是有序的ArrayList
默認容量爲10;LinkedList
, CopyOnWriteArrayList
默認容量爲0new ArrayList<>()
內部的數組實際上引用的是一個空數組ArrayList
擴容規則
Collections.sort(list, new Comparator(){xxx})
Comparater
接口後,能夠直接調用 Collections.sort(list);
CopyOnWriteArrayList
或 Collections.synchronizedList
來替代 Vector