hashMap底层原理(简单直白)

一,基础知识
1,数组,数组采用连续的存储单元存储数据,属于顺序存储结构,对于指定下标的查找,时间复杂度是O(1)。
2,链表:链表在内存空间上的存储是不连续的,属于链式存储结构。每个节点保存指向下一节点的指针。删除和新增只需新建节点或改变指针,速度快。查询需遍历,比较慢慢。
3,hash表,通过对key值的hash计算,确定数据的存储位置。
4,Entry:hashMap的内部类,包含一个key和value键值对,一个hash值,以及指向下一个Entry的引用next
二,hashMap底层原理
1,hashMap的主体是Entry的数组。数组每个元素,即Entry,可存储当前的key ,hash,及value。
2,存储或获取数据时,通过hash函数获取key对应的hash值,经过转换找到数组的坐标,再对value进行设置或读取
3,hash冲突时,数组的一个位置对应多个Entry,Entry间便形成链表结构,通过引用next指向下一Entry。存储或查找数据时,对数组此位置的Entry链表进行遍历,查看key值是否已存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值