目录
先给大家看一张图,有个大致了解:
再来看下Map的继承关系:
Map实现了以下几种:
- HashMap
- HashTable
- TreeMap
- LinkedHashMap
- WeakHashMap
- ConcurrentHashMap
- ConcurrentSkipListMap
一、HashMap
- 1.线程不安全
- 2.数组·链表+红黑树
- 3.每次扩容为原来的2倍
- 4.允许添加加key为null,value为null
二、HashTable
- 1.线程安全
- 2.允许key为null
三、TreeMap
- 1.红黑树实现
- 2.需要传入比较器
四、LinkedHashMap
- 1.带顺序的HashMap
- 2.可以是插入顺序,也可以是使用顺序
- 3.运行value为null,不用许key为null
- 4.继承的HashMap,属于hahsMap的扩展
五、WeakHashMap
- 1.弱引用的HashMap,如果key指向的弱引用被可收,key被回收
- 2.允许key为null,value为null
六、ConcurrentHashMap
- 1.线程安全
- 2.数组+链表+红黑树
- 3.不允许key为null,value为null
七、ConcurrentSkipListMap
- 1.跳表实现的Map
- 2.需要传入比较器
- 3.线程安全
- 4.不允许key为null,value为nul