首页 课程 师资 教程 报名

小白必看:HashMap底层实现原理

  • 2022-04-22 09:46:08
  • 552次 星辉

HashMap,一个很常用的集合,Key、Value格式,就是哈希表的具体体现

初始化方法有以下三种:

1.public HashMap(int initialCapacity, float loadFactor)

2.public HashMap(int initialCapacity)

3.公共HashMap()

第一种初始化方法中,第一个参数是初始化大小,也就是数组的大小,数组的大小呢?什么数组大小?我们先来看一段代码:

从上面的代码可以推断,HashMap其实是一个“链表哈希”的数据结构,也就是数组和链表的组合。具体转换图为:

说明:哈希值数组的中值来自map.put(key, value)中的key。首先根据key,计算出对应的hash值。如果hash相同,则判断后续链表中是否存在相同的key。如果不是,则添加一个新值,否则直接覆盖原值并返回

当然,如果是添加的话,需要判断长度是否大于初始大小。如果大于原来的长度,需要扩容到原来的两倍大小,然后重新计算key在链表中的位置,重新创建一个Entry,指向数组的哈希桶索引Location

以上就是关于“小白必看:HashMap底层实现原理”的介绍,大家如果对此比较感兴趣,想了解更多相关知识,不妨来关注一下星辉的HashMap底层实现原理视频教程,里面的课程内容从浅到深,通俗易懂,即使没有基础也可以听懂,希望对大家的学习能够有所帮助。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交