HashMap
hashMap
1.结构
数组加单向链表
2.put过程
key => hashCode=key.hashCode => index=hashCode%arry.length(求余) => key和value组成一个实体放到对应的数组位置 =>如果存在数据,头插法插入链表,然后链表下移
3.初始化大小
默认为16,定义数组大小后,hashMap大小初始化为 大于等于 length 的2的幂次方
4.扩容方式
因为链表的查询效率较低,当数据量较大,而数组大小固定时,对应的链表长度就会增加,从而降低查询效率,所以当数据量到达一定程度时,hashMap的size(也就是数组的大小)就会增长为原来的2倍,并重新装载数据
本文作者:猫的烦恼
本文链接:https://www.cnblogs.com/zhaohongbing/p/16341721.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步