- 集合
|
单线程 |
并发 |
Lists |
ArrayList ——基于泛型数组
LinkedList ——不推荐使用
Vector ——已废弃(deprecated)
|
CopyOnWriteArrayList ——几乎不更新,常用来遍历
|
Queues / deques |
ArrayDeque ——基于泛型数组
Stack ——已废弃(deprecated)
PriorityQueue ——读取操作的内容已排序
|
ArrayBlockingQueue ——带边界的阻塞式队列
ConcurrentLinkedDeque / ConcurrentLinkedQueue ——无边界的链表队列(CAS)
DelayQueue ——元素带有延迟的队列
LinkedBlockingDeque / LinkedBlockingQueue ——链表队列(带锁),可设定是否带边界
LinkedTransferQueue ——可将元素`transfer`进行w/o存储
PriorityBlockingQueue ——并发PriorityQueue
SynchronousQueue ——使用Queue 接口进行Exchanger
|
Maps |
HashMap ——通用Map
EnumMap ——键使用enum
Hashtable ——已废弃(deprecated)
IdentityHashMap ——键使用== 进行比较
LinkedHashMap ——保持插入顺序
TreeMap ——键已排序
WeakHashMap ——适用于缓存(cache)
|
ConcurrentHashMap ——通用并发Map
ConcurrentSkipListMap ——已排序的并发Map
|
Sets |
HashSet ——通用set
EnumSet ——enum Set
BitSet ——比特或密集的整数Set
LinkedHashSet ——保持插入顺序
TreeSet ——排序Set
|
ConcurrentSkipListSet ——排序并发Set
CopyOnWriteArraySet ——几乎不更新,通常只做遍历
|
原文链接: java-performance 翻译: ImportNew.com - 赖 信涛
|
单线程 |
并发 |
Lists |
ArrayList ——基于泛型数组
LinkedList ——不推荐使用
Vector ——已废弃(deprecated)
|
CopyOnWriteArrayList ——几乎不更新,常用来遍历
|
Queues / deques |
ArrayDeque ——基于泛型数组
Stack ——已废弃(deprecated)
PriorityQueue ——读取操作的内容已排序
|
ArrayBlockingQueue ——带边界的阻塞式队列
ConcurrentLinkedDeque / ConcurrentLinkedQueue ——无边界的链表队列(CAS)
DelayQueue ——元素带有延迟的队列
LinkedBlockingDeque / LinkedBlockingQueue ——链表队列(带锁),可设定是否带边界
LinkedTransferQueue ——可将元素`transfer`进行w/o存储
PriorityBlockingQueue ——并发PriorityQueue
SynchronousQueue ——使用Queue 接口进行Exchanger
|
Maps |
HashMap ——通用Map
EnumMap ——键使用enum
Hashtable ——已废弃(deprecated)
IdentityHashMap ——键使用== 进行比较
LinkedHashMap ——保持插入顺序
TreeMap ——键已排序
WeakHashMap ——适用于缓存(cache)
|
ConcurrentHashMap ——通用并发Map
ConcurrentSkipListMap ——已排序的并发Map
|
Sets |
HashSet ——通用set
EnumSet ——enum Set
BitSet ——比特或密集的整数Set
LinkedHashSet ——保持插入顺序
TreeSet ——排序Set
|
ConcurrentSkipListSet ——排序并发Set
CopyOnWriteArraySet ——几乎不更新,通常只做遍历
|