hashCode

Posted wankl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hashCode相关的知识,希望对你有一定的参考价值。

*hash算法

**在数组里进行储存

  一个hash指通过哈希算法算出key的值,并为在数组储存的位置,储存位置是随机放置,数组默认的size是`16

  提供hashCode方法

**key与value

  key就是哈希运算算出,value对于key只是附带的作用

**储存元素

   一个key值通过hash算法算出并随机放在数组里,当hash值的数目比较多时可能会算出重复的hash值

        当hash值一样时会新值会覆盖旧值,当不一样时会形成连接的形式

     在jdk1.8时且hash值形成连接形式时最多形成八个,再多时会形成红黑树

     红黑树少于6个时,就会形成连接形式

**负载率

     数组的的负载率0~1之间,哈希的负载率在0.75%,当超过这个值时就会形成新的数组,key值不会按原本位置放,会随机的

  的放置.

**hahsiCode是object的方法,--toString  equil      

 

以上是关于hashCode的主要内容,如果未能解决你的问题,请参考以下文章

深入理解java中的==equalshashcode

hashSet存储不同值的原理

Java-hashcode和equals方法