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 中国大陆许可协议进行许可。

posted @   猫的烦恼  阅读(34)  评论(1编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起