Java-Map集合

38 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 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 天,点击查看活动详情