首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
[问答题]
HashMap 底层的数据结构?
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(4)
分享
纠错
5个回答
添加回答
2
白崎川
HashMap 的底层数据结构是一个数组加链表(或数组加红黑树,取决于Java版本)。数组的每个槽位(bucket)存储着链表的头节点,链表中的每个节点是一个键值对(Entry),当发生哈希冲突时,新的键值对会以链表的形式存储在相应的槽位。在Java 8及以后版本中,当链表长度超过一定阈值时,链表会转换为红黑树,以优化性能。
发表于 2024-03-18 22:12:45
回复(0)
0
嵌入式卡拉米
数组+链表或红黑树;
发表于 2024-03-18 20:23:14
回复(0)
0
cty2
底层数据结构由数组+链表+红黑树组成。 数组初始长度为16,此时是数组加链表的结构,数组存满后,二倍扩容,当数组长度大于64,且链表长度大于8时,结构转化为数组加红黑树。
发表于 2023-10-10 09:44:03
回复(0)
0
小张同学找实习
数组+链表+加红黑树。 默认申请的数组长度是16,此时是数组+链表结构。 当数组的长度大于64,且链表的长度大于8时,由数组加链表结构转换为数组加红黑树结构。 数组扩容机制,数组长度乘2扩容。 线程不安全,线程安全的集合类由Vector,HashTable,ConcurrentHashMap
发表于 2023-05-15 10:03:07
回复(0)
0
王桑学日语
hashmap是非线程安全的 允许null作为键或值 键值对的形式 可以自定义hash函数来添加数据 entry实体类型存储键值对
发表于 2023-04-22 14:23:11
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
难度:
5条回答
4收藏
451浏览
热门推荐
相关试题
1.该校教师最多的是哪一年?( ...
资料分析
言语理解与表达
资料分析
评论
(1)
怎么做一个需求
需求分析
评论
(1)
A/B test场景问题,第一类错...
评论
(1)
猿辅导在字节跳动上线一个视频,首页...
评论
(1)
下列哪项不是导致信号完整性问题的原因?
数字电路
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题