- 集合
| |
单线程 |
并发 |
| 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——几乎不更新,通常只做遍历
|