面试难题:为什么 HashMap 的加载因子是0.75?

点击上方“ 库技术团队 ”关注,选择“ 设为星标

回复“ 面试题 ”领 《96份:3265页面试题》

前言

有很多东西之前在学的时候没怎么注意,笔者也是在重温HashMap的时候发现有很多可以去细究的问题,最终是会回归于数学的,如HashMap的加载因子为什么是0.75?

本文主要对以下内容进行介绍:

  • 为什么HashMap需要加载因子?

  • 解决冲突有什么方法?

  • 为什么加载因子一定是0.75?而不是0.8,0.6?

(若文章有不正之处,或难以理解的地方,请多多谅解,欢迎指正)

为什么HashMap需要加载因子?

HashMap的底层是哈希表,是存储键值对的结构类型,它需要通过一定的计算才可以确定数据在哈希表中的存储位置:

一般的数据结构,不是查询快就是插入快,HashMap就是一个插入慢、查询快的数据结构。但这种数据结构容易产生两种问题:① 如果空间利用率高,那么经过的