gpt4 book ai didi

java - 针对特定情况覆盖 Java 中的 hashCode

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

我知道在使用 hashCode 和 equals 时还有其他关于一般最佳实践的问题,但我有一个非常具体的问题。

我有一个类,它的实例变量是同一类的数组。更明确地说,这是代码:

Class Node{
Node arr[] = new Node[5];
}

我需要为 Node 类重写 hashCode,数组是判断两个 Node 是否相同的重要决定因素。如何有效地将数组合并到hashCode的计算中?

--编辑--

我正在尝试检查这两个节点是否相同,这意味着它们具有相同数量的子节点,并且这些子节点导致完全相同的状态。因此,我实际上是在尝试比较两个节点的子树。我想知道我是否可以使用哈希来进行这种相等性检查。

我想我实际上需要散列整个子树,但鉴于我的类定义的递归性质,我不确定我将如何去做。

最佳答案

将 http://download.oracle.com/javase/6/docs/api/java/util/Arrays.html#hashCode(java.lang.Object[]) 作为 hashCode() 实现的一部分。

关于java - 针对特定情况覆盖 Java 中的 hashCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5887449/

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