Java hashCode的用途是什么?

Java hashCode的用途是什么?,java,Java,我很难弄明白这一点。什么是hashCode,因为我从未完全理解它 例如: int m = 2; int b = "APA".hashCode() % 3000; int v = "KLK".hashCode() % 3000; for (int x = 0; x <= v; x++) m = (m ^ x) % b; return m; intm=2; int b=“APA”.hashCode()%3000; int v=“KLK”.hashCode()%3

我很难弄明白这一点。什么是hashCode,因为我从未完全理解它

例如:

  int m = 2;
  int b = "APA".hashCode() % 3000;
  int v = "KLK".hashCode() % 3000;
  for (int x = 0; x <= v; x++)
     m = (m ^ x) % b;
  return m;
intm=2;
int b=“APA”.hashCode()%3000;
int v=“KLK”.hashCode()%3000;
对于(intx=0;x,在计算机科学中使用hashmap和hashtables创建对对象的接近O(1)的访问,hashcode可以是md5、sha1或任何其他加密

本例中的返回值为1955

哈希代码只是一个“值”。哈希代码方法只接受一个 对象并输出一个数值。对象的哈希代码为 如果对象不变,则始终保持不变

因此,利用这些知识,您可以将hashCode用于许多事情,例如 HashMap示例。在HashMap中,您希望找到匹配的键 查找时速度很快。因此首先检查请求的密钥的 散列代码,然后您可以真正有效地找到 然后你可以检查每一个(和 只有那些)候选密钥与请求的密钥相等


要在地图中存储对象,以及在相等检查时第一次通过,返回值是什么?如果您真的想了解哈希代码的用途,请在Wikipedia中查找“哈希表”(它谈论的是“哈希函数”,即
hashCode
的含义)。如果你认为知道结果是1955有助于你理解
hashCode
是什么意思,那么我不知道你在找什么。更正:
hashCode
不是哈希函数本身,而是哈希函数是表大小的哈希代码。你知道整数m的返回值吗?返回值是1955年,你可以运行它汉克斯,哈哈,现在我终于明白了。散列不是加密。