![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HashMap
文章平均质量分 74
丶栀子丶
记录学习历程,期待有人共鸣
展开
-
HashMap1.8 源码解读之查询——get()
@[TOC](HashMap1.8 之查询——get())一.引读 这篇意在分析HashMap1.8源码的put()方法。对于基础数据结构的操作,无非就是增删改查,而这篇我们要阐述的就是JDK1.8里HashMap里的查询,也就是get()方法。 对于对HashMap还不熟悉的读者,建议先看下我之前写的拙作: 1.HashMap源码解读之原理浅析—前传篇&nbs原创 2021-02-03 17:32:55 · 277 阅读 · 0 评论 -
HashMap1.8源码解读之新增/修改——put()
一.引读 这篇意在分析HashMap1.8源码的put()方法。对于基础数据结构的操作,无非就是增删改查,而这篇我们要阐述的就是JDK1.8里HashMap里的新增/修改,也就是put()方法。 对于对HashMap还不熟悉的读者,建议先看下我之前写的拙作: 1.HashMap源码解读之原理浅析—前传篇 2.HashM原创 2021-01-31 16:48:00 · 369 阅读 · 0 评论 -
HashMap源码解读之原理浅析—前传篇
HashMap 原理浅析一、HashMap结构图二、HashMap中心思想三、这里就介绍一下put()的源码详细解析示例一、HashMap结构图二、HashMap中心思想无论是put(增加/修改)、get(查询)、还是remove(删除)操作,其操作的核心思想就是先找到要操作的那个节点。那如何找寻呢? 1.有图可知,先找到其所在table的哪个索引下的元素(先把key处理得出hash值,然后hash&(table.length)也就是取模得到 其所在table上元素原创 2021-01-06 15:44:54 · 227 阅读 · 0 评论 -
HashMap1.8-源码浅析2之初始化
HashMap1.8-源码浅析2之HashMap初始化初始化方法1——无参构造初始化方法2——有参构造(initialCapacity,loadFactor)初始化方法3——有参构造(Map<? extends K, ? extends V> ) 注:我们都知道HashMap的结构是table数组+链表nodes/红黑树treeNodes组成。数组的元素里放着链表的头节点或红黑树的根节点。提到这里,那么在读以前内容前,希望大家带着一个问题去读,table数组是什么时候初始化的?初始化方法1原创 2020-06-24 18:37:28 · 253 阅读 · 0 评论 -
HashMap1.8-源码浅析1之成员变量及2个静态内部类阐述
HashMap1.8-源码浅析1之成员变量阐述1.HashMap中的13个成员变量注:此博客适合已熟悉HashMap使用的人读1.HashMap中的13个成员变量 /** * The default initial capacity - MUST be a power of two. * 默认的初始化容量 1<<4 用二进制表示:10000 十进制16 * 但实际上只能放16*负载因子(默认0.75)=12个,也就当放入了第13后就会扩容 */原创 2020-06-23 20:01:11 · 380 阅读 · 0 评论