IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 全网最全HashMap面试题整理 -> 正文阅读

[数据结构与算法]全网最全HashMap面试题整理

话不多说,直接看题

1.JDK1.7版本,HashMap的数据结构是什么?

答:数组加单向链表

2.什么叫做Hash桶

答:数组中的单向链表

3.HashMap的数组长度为什么必须是2的幂?

答:因为在计算元素下标(索引)时是根据hash&数组长度-1,如果不是数组长度不是2的幂,那么数组长度-1的二进制额某一位可能不是一,就会出现某些下标永远存不到数据

4.HashMap的默认负载因子是多少,作用是什么?

答:默认的负载因子是0.75,,作用是数组长度*负载因子=阈值(扩容条件)

5.HashMap的默认负载因子为什么是0.75?

答:官方解释是时间与空间的平衡

如果负载因子过大,就会牺牲时间,利用空间

如果负载因子过小,就会牺牲空间,利用时间

6.HashMap数组最大长度是多少?

答:1<<30

7.HashMap数组最大长度为什么是1 << 30?

答:因为HashMap的数组长度必须是2的幂,而数组的最大长度是int类型,即Integer.Max,Integer.Max为1<<31 - 1,所以HashMap的数组长度只能是1<<30

8.什么叫做Hash碰撞/冲突?

答:hash值相同,则计算出的下标就相同,这样就造成了hash碰撞

9.HashMap何时扩容?

答:当元素个数>=阈值时就会扩容

10.HashMap扩容机制是什么?

答:原来的两倍

11.HashMap存入null键的位置?

答:下标为0的地方

12.什么叫做Hash回环?

答:在多线程模式下,当一个线程不断的遍历集合,另一个线程不断的添加数据,添加数据就会扩容,则就会出现hash回环。

注意:Hash回环参数完全就该程序员背锅,因为HashMap中明确说明了HashMap不是一个线程安全的

13.JDK1.7版本和JDK1.8版本的HashMap的区别

答:1.7中HashMap底层是数组+单向链表

且单向链表中插入元素是用头插法

1.8中HashMap底层是数组+单向链表+红黑树

且单向链表中插入元素是用尾插法

1.7中是运用散列算法计算hash值,而1.8中是通过低16^高16位计算hash值,使其更加散列

14.JDK1.8版本HashMap为什么添加红黑树的数据结构?

答:因为链表查询慢,红黑树查询快

15.JDK1.8版本什么时候由数组+链表变成数组+红黑树

答:当链表的长度>8且数组元素>64就会由链表转换为红黑树

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-09-08 10:59:23  更:2021-09-08 11:01:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:36:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码