Java HashMap涉及的数据结构及实现

本文深入探讨了HashMap的数据结构和工作原理,包括其基于哈希表的实现方式、非线程安全特性、对null的支持以及固定时间消耗的get()和put()操作。文章还详细讲解了HashMap在不同容量下如何变换数据存储结构,以及涉及到的默认初始化容量、最大容量、负载系数等关键概念。

提供的功能

  • 基于哈希表实现的Map;
  • 非线程安全的Map实现;
  • 键和值都可以为null(因为有处理null的情形);
  • 基本操作get()put()的时间消耗是固定的;
  • 数据存储结构会随着HashMap的数量而变换成不同的数据结构。

涉及到的概念

  • 默认初始化容量
  • 最大容量
  • 默认的负载系数(load factor)
  • 树形化的阈(yù)值
  • 非树形化的阈值
  • 最小树形化的容量

涉及的基本概念

  • 单链表
  • 红-黑树
  • 链表 、红-黑树 互转

转载于:https://my.oschina.net/jast90/blog/2964177

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值