一.概览
容器主要包括Collection和Map两种,Collection存储着对象的集合,Map存储着键值对的映射。
Collection(interface)
Set(继承,接口)
SortedSet(继承,interface,)
TreeSet(实现)
HashSet(实现)
LinkedHashSet(实现)
List(继承,接口)
ArrayList(实现)
Vector(实现,线程安全的,基本废弃,过时)
LinkedList(有序,同时实现Queue)
Queue(继承,,接口,队列)
PriorityQueue(实现)
LinkedList(有序,同时实现List)
1.Set
- TreeSet:基于红黑树实现,支持有序性,效率不如HashSet,
- HashSet:基于哈希表实现,支持快速查找,不支持有序性操作,没有顺序,
- LinkedHashSet:具有HashSet的查找效率,并且有顺序
2.List
- ArrayList:基于动态数组实现,支持随机访问
- Vector:类似ArrayList,线程安全
- LinkedList:双向链表实现,智能顺序访问,能快速插入和删除元素
3.Queue(不常用)
- LinkedList:可以用来实现双向队列。
- PriorityQueue:基于堆结构实现,用来实现优先队列
Map(interface)
SortedMap(interface,继承)
TreeMap(实现)
HashTable(过时,实现)
LinkedHashMap(实现)
HashMap(实现)
- TreeMap:基于红黑树实现(没用过).
- HashMap:基于哈希表实现(最常用)
- HashTable:类似HashMap,线程安全,遗留类,可以使用ConcurrentHashMap来支持线程安全,用了分段锁,效率更高
- LinkedHashMap:双向链表来维护元素的顺序,