Hashcode的作用以及原理,Hash的算法:开放地址法和链地址法的对比.Hash扩容及加载因子的介绍.rehash过程等.

详见HashMap

HashCode的作用主要是用来提高查询效率。
原理哈希函数:个类有相同的HashCode,例如9除以8和17除以8的余数都是1,也就是说,我们先通过 HashCode来判断两个类是否存放某个桶里,
    但这个桶里可能有很多类,那么我们就需要再通过equals在这个桶里找到我们要的类。
处理冲突的方法:开放定址法————线性探测、二次探测。  
              链地址法
负载情况达到负载因子水平的时候,容器会自动扩容,HashMap默认使用的`负载因子值`为`0.75f`
采用`&`运算会提高性能
通过限制`length`是一个`2`的幂数,h & (length-1)和h % length结果是一致的
我们在扩充HashMap的时候,不需要像JDK1.7的实现那样重新计算hash,只需要看看原来的hash值新增的那个`bit`是1还是0就好了,是0的话索引没变,
是1的话索引变成`原索引+oldCap`

Last updated