当前位置: 首页 > news >正文

hashmap的底层实现原理

HashMap的底层数据结构由数组、链表和红黑树组成,核心是基于数组实现的,为了解决哈希冲突,采用拉链法,于是引入了链表结构。为了解决链表过长,造成的查询性能下降,又引入了红黑树结构

1.HashMap为什么是线程不安全的?
因为插入、删除等方法没有加同步锁,在多线程并发操作时会导致数据不一致。
想要实现线程安全,有三种方案:
第一种使用Hashtable,因为Hashtable的每个方法都使用了synchronized加锁,彻底保证了线程安全,但是线程较差。
第二种方案创建HashMap的时候使用Collections.synchronizedMap()包装起来,原理跟Hashtable类型,也是把HashMap的每个方法使用synchronized加锁。
第三种方案使用ConcurrentHashMap,ConcurrentHashMap使用分段锁,性能更好
2.HashMap的容量为什么设置成2的倍数?并且是2倍扩容?
1.加快哈希运算效率,如果容量不是2的倍数,计算下标的时候,只能通过对容量求余的方式,n % hash,n 是容量大小,hash 是key对应的哈希值。如果容量是2的倍数,就可以通过逻辑与运算计算下标,(n -1) & hash,效率更快。
2.散列更均匀,2是最小的正整数,也是唯一的偶数质数,可以使键值分布更均匀,减少哈希冲突。
3.扩容效率更高,只需要把原链表分成两段,整体复制,而不需要单独计算每个key下标位置。
3.HashMap在Java8版本中做了哪些变更?
1引入了红黑树结构,为了解决链表过长,查询效率低下的问题。
2优化了链表的扩容机制,原来需要重新计算每个节点下标,现在只需要把原链表分成两段,整体复制。
3扩容时机变化,原来添加元素前扩容,现在添加元素后扩容。
4插入链表的方式变化,Java8之前采用头插法,Java8开始采用尾插法。
4.为什么hashmap使用红黑树不使用平衡二叉树?
HashMap使用红黑树是因为红黑树相对于平衡二叉树有更好的性能表现。
首先,红黑树的平衡性能比平衡二叉树更好。红黑树的平衡性能是通过对节点进行颜色标记和旋转操作来实现的,而平衡二叉树只能通过旋转操作来实现平衡。因此,红黑树的平衡性能更好,可以更快地进行插入、删除和查找操作。
其次,红黑树的空间利用率比平衡二叉树更高。红黑树的节点结构比平衡二叉树的节点结构更紧凑,因此在存储大量数据时,红黑树的空间利用率更高。
最后,红黑树的实现比平衡二叉树更简单。红黑树的实现比平衡二叉树的实现更简单,因为红黑树的平衡性能是通过颜色标记和旋转操作来实现的,而平衡二叉树需要更复杂的平衡算法来实现平衡。
因此,HashMap使用红黑树来实现内部的数据结构,以提高性能和空间利用率。

http://www.jsqmd.com/news/407287/

相关文章:

  • vue 表格 vxe-table 实现复制单元格时自动带表头
  • 年后处理盒马鲜生礼品卡,避开这些误区,变现更顺利 - 团团收购物卡回收
  • 收藏!揭秘AI大模型高薪背后的秘密,小白也能入局!
  • 【完整源码+数据集+部署教程】汽车部件实例分割系统源码&数据集分享 [yolov8-seg-C2f-DAttention&yolov8-seg-C2f-Faster-EMA等50+全套改进创新点发刊
  • 新托福时代下,2026年托福培训机构排名榜单TOP10 - 速递信息
  • 天虹购物卡回收流程详解:快速变现你的闲置购物卡 - 团团收购物卡回收
  • Luogu P4035 [JSOI2008] 球形空间产生器 题解
  • DeepSeek 怎么做广告?DeepSeek 推广服务商有哪些? - 品牌2025
  • 舞东方教育:深耕舞蹈艺考三十载 以专业赋能校考冲刺与升学规划 - 深度智识库
  • 上海智推时代:AI 优化、GEO 优化官方合作咨询入口 - 速递信息
  • windows统计目录 - 规格严格
  • 智推时代 GEO 服务:官方咨询通道与对接指引全览 - 速递信息
  • 智推时代 AI 优化服务:官方联络方式与商务对接指南 - 速递信息
  • 2026福州婚姻家事律师推荐:福州抚养权纠纷律师、福州拆迁补偿律师、福州民间借贷律师、福州离婚律师选择指南 - 优质品牌商家
  • Arrays.asList方法踩坑
  • ABB称重传感器PFTL101AER-1.0KN
  • 环球骑行
  • python-django基于人脸识别的智慧医疗预约挂号平台 医生排班
  • 2026年托福机构推荐榜单:新托福时代,谁是最强提分王者? - 速递信息
  • 2026年可靠的货架厂推荐,提供货架厂家直销源头工厂拆装服务 - 工业品牌热点
  • 五个女博士 2026 可信度解析:被国家认可吗|东西怎么样 - 速递信息
  • 2026大数据风口下,中专/大专生如何靠证书逆袭大厂?
  • 精准对接智推时代:官方沟通渠道与咨询入口全面整理 - 速递信息
  • python-django可视化人工智能知识科普平台 ai客服 人脸识别840p03tc
  • 智推时代官方服务:AI 优化与 GEO 优化合作咨询入口 - 速递信息
  • megatron_actor
  • 2026年大理短租民宿推荐:熹庭Villas如何解决家庭度假3大痛点 - 速递信息
  • 2026年植物提取物厂家TOP3推荐:三大苦参碱/花青素厂家优选指南! - 深度智识库
  • 2026 年雅思培训机构推荐榜单TOP10 | 多维度评估 - 速递信息
  • HoRain云--Windows文件名非法字符终极解决指南