gpt4 book ai didi

java - 哈希码的理解

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:07:43 25 4
gpt4 key购买 nike

哈希函数在实现哈希表中很重要。我知道在java中对象有它的哈希码,它可能是由弱哈希函数生成的。

下面是一段“补充哈希函数”

static int hash(Object x) {
int h = x.hashCode();

h += ~(h << 9);
h ^= (h >>> 14);
h += (h << 4);
h ^= (h >>> 10);
return h;
}

谁能帮忙解释一下哈希算法的基本思想是什么?生成非重复整数?如果是这样,这些如何按位运营成功了吗?

最佳答案

散列函数是任何定义明确的过程或数学函数,可将大量可能可变大小的数据转换为小数据,通常是可用作数组索引的单个整数。哈希函数返回的值称为哈希值、哈希码、哈希和、校验和或简称为哈希。 ( wikipedia )

使用更“人性化”的语言对象散列是基于对象属性的短而紧凑的值。也就是说,如果您有两个对象以某种方式有所不同 - 您可以预期它们的哈希值是不同的。好的哈希算法会为不同的对象产生不同的值。

关于java - 哈希码的理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3121524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com