文章目录
Map
LinkHashMap,HashMap,TreeMap
HashMap:
继承了AbstractMap,实现Map,实现的数据结构是 数组+链表,通过计算传过来的
LinkHashMap:
继承了HashMap,同时自己维护着一个双向链表
TreeMap:
继承了AbstractMap,自己实现的数据结构是红黑树
1
2
3
4
5
6
7class Entry<K,V> implements Map.Entry<K,V> {
K key;
V value;
Entry<K,V> left;
Entry<K,V> right;
Entry<K,V> parent;
boolean color = BLACK;}
List
ArrayList
继承了AbstractList 基于数组来实现的.
LinkedList
继承AbstractSequentialList ->AbstractList 基于链表来实现
Set
HashSet
内部实现是使用的HashMap
TreeSet
基于红黑树来实现
Queue
ArrayBlockingQueue
基于数组的队列最大是INTEGER.MAX_VALUE,
ArrayBlockingQueue
基于列表来实现
Other
HashTable
和HashMap比较,性能不强但是保存的逻辑还是hash值来作为插入的关键词,加入了synchronized