我接受了采访,面试官问了一个问题
访问者 - 如果我们要将此类的对象用作HashMap密钥,为什么要覆盖类的hashCode和equals方法。
我 - 我告诉他完整的流程。 HashMap如何在内部使用hashcode和equals方法(Bucket logic)。
但是他对我的回答并不满意。他告诉我这只是基本用途,你已经完全解释了它,但我想知道它的先进重要性不是基本的(他也给了我一些线索 - 它有助于记忆管理)。
我在互联网上搜索过但我得不到答案。
还有其他重要性吗?如果是的话是什么?
链接/文档将受到高度赞赏。
提前致谢....
答案 0 :(得分:1)
这可能有帮助吗? (摘自http://apmblog.compuware.com/2011/12/15/the-top-java-memory-problems-part-2/)
equal和hashcode
的实现不正确哈希码方法和内存问题之间的关系是 乍一看并不明显。但是,如果我们考虑在哪里 哈希码方法非常重要,这一点变得更加清晰。
hashcode和equals方法在哈希映射中用于插入 并根据其键找到对象。但是,如果执行 操作员有故障,找不到现有的条目和新的条目 继续加入。
虽然负责内存问题的集合可以 确定很快,可能很难确定为什么 问题发生了。