![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HashMap
文章平均质量分 91
蛋卷在月球烤面包
这个作者很懒,什么都没留下…
展开
-
Java基础-ConcurrentHashMap
Java 7 中 ConcurrentHashMap 的存储结构如下图,ConcurrnetHashMap 由很多个 Segment 组合,而每一个 Segment 内部是一个类似于 HashMap 结构的 HashEntry 数组,所以可以进行扩容。但是 Segment 的个数一旦初始化就不能改变,默认 Segment 的个数是 16 个,可以认为 ConcurrentHashMap 默认支持最多 16 个线程并发。一个ConcurrentHashMap中只有一个Segment<K,V>类原创 2022-05-06 21:19:14 · 1489 阅读 · 0 评论 -
Java基础-LinkedHashMap
LinkedHashMap 继承自 HashMap,在 HashMap 基础上,通过维护一条双向链表,解决了 HashMap 不能随时保持遍历顺序和插入顺序一致的问题。HashMap:LinkedHashMap:一、基本定义 static class Entry<K,V> extends HashMap.Node<K,V> { Entry<K,V> before, after; Entry(int has..原创 2022-04-23 13:02:40 · 1846 阅读 · 0 评论 -
Java基础-HashMap
JDK1.8 之前 HashMap 由数组+链表组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的(“拉链法”解决冲突)。JDK1.8 以后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为 8)(将链表转换成红黑树前会判断,如果当前数组的长度小于 64,那么会选择先进行数组扩容,而不是转换为红黑树)时,将链表转化为红黑树,以减少搜索时间。一、基本定义 // 初始容量是16 static final int DEFAULT_INITIAL_CAPAC原创 2022-04-19 10:30:44 · 830 阅读 · 0 评论