hash是什么?
关键字key和它的存储位置之间存在一种函数关系。这个函数我们称为为哈希函数。
就是把任意长度的输入,通过散列算法,变成固定长度的输出,这种是一种压缩映射.
hash冲突问题及解决方法
那么在这种情况下,不同的key可能会产生相同的散列值,即这种状况下他们对应的哈希数的值是相同的,因为值相同所以不可能由散列值确定唯一的输入值,这种情况就是哈希冲突。
key经过hash函数计算得到的内存地址值,但是该内存地址值已经有数据了,产生了冲突。如果两个不同对象的hashCode相同,这种现象称为hash冲突。
解决哈希冲突:
- 开放定址法
- 再哈希法
- 链地址法
- 建立公共溢出区