将一个对象作为 HashMap 的 key 使用时,需要重写哪些方法?为什么?
考察说明
考察对 Java 哈希容器工作原理和相等性约定(hashCode-equals 契约)的理解
回答思路
- 指出需重写 hashCode() 和 equals()
- 解释 hashCode() 决定桶位置,equals() 用于冲突时比较
- 说明必须遵循 hashCode-equals 契约:相等对象哈希码必须一致
- 提及重写 equals 必须同时重写 hashCode,否则可能导致查找失败
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。