你的位置:首页 > 软件开发 > Java > HashMap理解

HashMap理解

发布时间:2017-11-30 01:00:04
HashMap中Capacity为数组长度,默认大小为16,size为元素个数,loadFactor为size/capacity,默认为0.75,当存储的元素个数size和capacity比如大于0.75时,hashMap开始按照2的次幂扩容。元素存放的位置算法:所以我们首先想到 ...

HashMap理解

HashMap理解

HashMap理解

 

HashMap中Capacity为数组长度,默认大小为16,size为元素个数,loadFactor为size/capacity,默认为0.75,当存储的元素个数size和capacity比如大于0.75时,hashMap开始按照2的次幂扩容。

元素存放的位置算法:所以我们首先想到的就是把hashcode对数组长度取模运算,这样一来,元素的分布相对来说是比较均匀的。但是,“模”运算的消耗还是比较大的,能不能找一种更快速,消耗更小的方式那?java中时这样做的, 

Java代码  HashMap理解

    1. static int indexFor(int h, int length) {  
    2.        return h & (length-1);  
    3.    }  

 

原标题:HashMap理解

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录