写点什么

HashMap底层原理

0 人感兴趣 · 10 次引用

  • 最新
  • 推荐

HashMap 源码分析

用户头像
学个球4 月 25 日

哈希算法的作用是:对于输入的数据,输出固定长度的数据摘要。

https://static001.geekbang.org/infoq/62/62699238f5c67314a969d51273e28d53.png?x-oss-process=image/resize,w_416,h_234

工作三年,小胖连 HashMap 源码都没读过?真的菜!

在 JDK 1.7 中 HashMap 是以数组加链表的形式组成的,JDK 1.8 之后新增了红黑树的组成结构,当链表长度大于 8 并且 hash 桶的容量大于 64 时,链表结构会转换成红黑树结构。所以,它的组成结构如下图所示:

https://static001.geekbang.org/infoq/89/896e5d0b2868021e4eb1b7aae2174449.jpeg?x-oss-process=image/resize,w_416,h_234

HashMap 加载因子为什么是 0.75?

用户头像
java_wxid3 月 30 日

如果加载因子比较大,扩容发生的频率比较低,浪费的空间比较小,发生hash冲突的几率比较大。比如,加载因子是1的时候,hashmap长度为128,实际存储元素的数量在64至128之间时间段比较多,这个时间段发生hash冲突比较多,造成数组中其中一条链表比较长。

https://static001.geekbang.org/infoq/9a/9a4a4e35b26e13be3ef56f31ae168d53.png?x-oss-process=image/resize,w_416,h_234

盘点 HashMap 的实现原理及面试题

用户头像
老王说编程3 月 9 日

如果被问到 HashMap 相关的问题,它的工作原理都会被作为面试的开场白,这个时候先装作若有所思的样子冷静一下。首先 HashMap 是基于 hashing 的原理,我们知道 HashMap 有两个常用的方法 put()、get(),将键值对传递给 put() 方法时,

https://static001.geekbang.org/infoq/a7/a70cd76ad586c145dc07765a9dedf74a.jpeg?x-oss-process=image/resize,w_416,h_234

深入了解 HashMap!

用户头像
xcbeyond1 月 26 日

HashMap的扩容机制是要必懂知识!结合图片一起理解!

https://static001.geekbang.org/infoq/ce/ce0a8630b32233eee8e8de982b2ce78c.png?x-oss-process=image/resize,w_416,h_234

一个 HashMap 能跟面试官扯上半个小时

用户头像
安琪拉的博客2020 年 12 月 26 日

《安琪拉与面试官二三事》系列文章

https://static001.geekbang.org/infoq/dd/ddd6206fdb949bc9ef82e01e2cb97105.jpeg?x-oss-process=image/resize,w_416,h_234

jdk 源码系列之 HashMap

用户头像
sinsy2020 年 10 月 31 日

jdk 源码系列之 HashMap

https://static001.geekbang.org/infoq/a7/a73bb1c201dc2a0785d830cf0bfe652e.png?x-oss-process=image/resize,w_416,h_234

了解 HashMap 数据结构,超详细!

用户头像
程序员的时光2020 年 10 月 23 日

面试必备HashMap,这里详细写明了各个关于HashMap面试要点; 适合初学者学习以及面试使用

HashMap 源码解析

用户头像
彭阿三2020 年 9 月 24 日

HashMap 底层数据结构以及原理

HashMap底层原理_HashMap底层原理资料文章-InfoQ写作平台