Collection&Map
前几篇文章介绍了ArrayList、LinkedList,GitHub上已经更新了部分父类接口以及抽象继承类的源码解析:
下面来看看日常编程中比较熟悉的容器类底层的数据结构:
Collection
AbstractCollection
List
AbstractList
- ArrayList :【动态数组】(非线程安全)
- LinkedList :【双向链表】(非线程安全)
- Vector:【动态数组】(线程安全)
- Stack:【栈】(基于动态数组实现)(线程安全)
Set
AbstractSet
- HashSet :【哈希表】无重复元素集合,基于HashMap实现(线程安全)
- LinkedHashSet :【哈希表、双向链表】基于LinkedHashMap实现的集合(非线程安全)
- TreeSet:【红黑树】基于TreeMap实现的集合(非线程安全)
Map
AbstractMap
- HashMap :【哈希表】(非线程安全)
- LinkedHashMap :【哈希表、双向链表】(非线程安全)
- IdentityHashMap :【哈希表】(非线程安全)
- TreeMap :【红黑树】(非线程安全)
- WeakHashMap :【哈希表】(非线程安全)
- Hashtable:【哈希表】(线程安全)
Collection集合体系继承结构图:(常用类)
Map集合继承体系结构图:(常用类)
往期文章:
源码解析库已更新:欢迎star