HashMap
HashMap是基于Hashing原理。由数组,链表,红黑树组成。
我们通过put()和get()方法储存和获取对象。当我们给put()方法传递键和值时候,我们先对键调用hashcode()方法,计算并返回的hashcode适用于找到Map数组的bucket位置来存储对象。HashMap是根据HashCode来进行计算Hash值的。
Put()过程:1.对Key求Hash值,计算下标;
2.如果没有碰撞,就放入bucket中
3.如果发生了碰撞,就是用链的结构放在后边
4.如果链表大于阀值,就转为红黑树
5.如果节点已经存在就替换旧节点
6.如果bucket满了,就要进行扩容。
Get()过程:
通过键值对来进行访问的数据结构。
为什么使用HashMap?
超级快速的查询速度,可以达到0(1)的时间复杂度。
动态的可变长存储数据。(和数组对比而言)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了