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