开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 16 天,点击查看活动详情
Java-Map集合
HashMap集合
HashMap集合数据结构是数组+链表+红黑树,其根据hashCode值存储数据。HashMap允许存储兼职为NULL值,是非线程安全的。HashMap是一个数组,每个数组中是单向链表,当链表中的元素超过了指定数量后会将链表转换为红黑树,目的是降低查找复杂度。
ConcurrentHashMap集合。
Segment,即默认最多可支持16个线程并发写。
ConcurrentHashMap集合由一个个Segment组成。
线程安全
Segment通过继承ReentrantLock来进行加锁,因此保证线程安全。
并行度
ConcurrentHashMap集合默认是16个Segment,即默认最多可支持16个线程并发写。
HashTable集合
线程安全,性能不如ConcurrentHashMap集合。
TreeMap集合
TreeMap集合实现SortedMap接口,能够根据键排序,默认按照键值升序。
LinkedHashMap集合
LinkedHashMap集合是HashMap集合的子类,顺序存储。
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 16 天,点击查看活动详情