作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这是一个家庭作业问题,所以我不是在寻找具体的实现,而是更多地了解如何实现以下内容:
我必须创建一个哈希表类,我了解哈希表的工作原理,但我对它实际如何哈希对象感到困惑。在我们看到的示例中,我们通常会看到整数存储在哈希表中(为简单起见),并使用诸如 value%10
之类的算法对它们进行哈希处理。
我对此很好,但对以下内容感到困惑。我们被要求编写一个可以接受任何对象并提供插入方法等的类。我不确定如何调用 Object%10
考虑到我不能只找到一个模数目的。考虑到这一点,我不知道用户可以将哪种对象传递给此类(可能是他们自己编写的对象),您如何期望为所有可能的对象编写哈希函数?我在这里遗漏了什么吗?
我试过谷歌搜索,但我不太确定要谷歌什么,所以我想不出太多,谢谢
最佳答案
Hashcode 不必总是 value%10
,在对象的情况下,它是使用对象状态(即对象属性)派生的数字。
如果你喜欢上课
public class MyClass {
int a;
int b;
}
那么Hashcode可以简单为
public int hashCode() {
int result = a + b;
return result;
}
关于java - 在 Java 中散列对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19446631/
我是一名优秀的程序员,十分优秀!