HashMap理解

JAVA学习网 2017-12-01 10:46:03

 

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

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

Java代码  收藏代码

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

 参考:http://blog.csdn.net/ghsau/article/details/16890151

阅读(769) 评论(0)