接口
Collection
可以放入多个同类型的对象List
继承Collection
接口,容器内对象有序Set
继承Collection
接口,容器内对象不可重复Queue
继承Collection
接口,容器内对象有序,且实现了队列先进先出的特性Deque
继承Queue
接口,实现了双端队列BlockingQueue
继承Queue
接口,实现了阻塞式入队和出队Map
实现key到value之间的映射
实现类
非线程安全
ArrayList
实现List
接口,数据结构为动态扩容的对象数组LinkedList
实现List
接口和Deque
接口,数据结构为双向链表HashSet
实现Set
接口,底层为HashMap
LinkedHashSet
继承HashSet
,在HashSet
的基础上维护一个元素的双向链表,链表的顺序为元素加入的先后顺序,底层为LinkedHashMap
TreeSet
实现SortedSet
接口,元素根据比较规则有序,底层为TreeMap
ArrayQueue
实现Deque
接口,数据结构为数组PriorityQueue
实现Queue
接口,元素出队顺序与优先级相关,底层是数据实现的二叉堆HashMap
实现Map
接口,数据结构为数组,数组的元素为链表(或在链表长度过长时变为红黑树),根据key的哈希值确定键值对存放在数组的哪个位置,再通过链表(或红黑树)解决哈希冲突LinkedHashMap
继承HashMap
,在HashMap
的基础上维护一个键值对的双向链表,链表的顺序为键值对加入的先后顺序TreeMap
实现SortedMap
接口,键值对根据比较规则有序,数据结构为红黑树
线程安全
ConcurrentHashMap
实现Map
接口,HashMap
的高性能线程安全版本CopyOnWriteArrayList
实现List
接口,ArrayList
的线程安全版本ConcurrentLinkedQueue
实现Queue
接口,数据结构为链表,出队和入队使用CAS算法,高性能,无界队列ArrayBlockingQueue
实现BlockingQueue
接口,可阻塞式出入队,数据结构为数组,出队和入队使用ReentrantLock
,有界队列LinkedBlockingQueue
实现BlockingQueue
接口,可阻塞式出入队,数据结构为链表,出队和入队使用ReentrantLock
,可有界可无界PriorityBlockingQueue
实现BlockingQueue
接口,可阻塞式出入队,PriorityQueue
的线程安全版本ConcurrentSkipListMap
实现Map
接口,数据结构为跳表
PREVIOUSSpring Boot配置文件中获取Maven信息