Loading

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)的时间复杂度。

       动态的可变长存储数据。(和数组对比而言)

 

posted @   远乡人  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示