两个不同的字符串的hash计算值一定会不同吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个不同的字符串的hash计算值一定会不同吗相关的知识,希望对你有一定的参考价值。

参考技术A String 的 hashCode 好像是按字符的hashCode 排列的,然后字符相同,hashCode就想同,而且hashCode 没有set方法,也不能改变。本回答被提问者采纳 参考技术B 不同的字符串哈希值不同,但是可以通过重写hashCode()方法使返回的哈希值相同 参考技术C hash之后,如果使用equals方法,得到的为true;则两个值肯定是一样的;
但是为false,两个值hash之后的值不一定不一样
反过来:如果两个值的hash之后的值不一样,使用equals之后肯定为false
但是,如果两个值的hash之后的值一样,使用equals之后的结果则未知

JavaScript--数组--关联(hash)数组

关联(hash)数组的原理: 

hash算法: 接收一个字符串,计算出一个尽量不重复的序号
不同的字符串,计算出的序号尽量不同
相同的字符串,计算出的序号一定是相同
存入数据时: 将自定义下标名称交给hash算法,计算出一个尽量不重复的序号。将要保存的数据,存入序号对应的位置。
获取数据时: 将要查找的下标名称交给hash算法,再计算出和存入时一模一样的序号,直接去数组指定位置获取元素内容。
优点: 查找速度极快,与数据量和存储位置无关!

以上是关于两个不同的字符串的hash计算值一定会不同吗的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript--数组--关联(hash)数组

POJ 1200 字符串HASH

hash算法

韦尼克区受损者如何说话

NSString类里有个hash

使用不同编码编码的两个不同字符串可以具有相同的字节序列吗?