如果需要把一个对象作为 key 添加到 HashMap 之中,那么这个对象所对应的类必须至少重载 Object 的哪些方法?

1319 次浏览
  • A、hashCode 和 clone
  • B、equals 和 clone
  • C、hashCode 和 equals
  • D、hashCode、equals 和 clone
将对象作为key添加到HashMap中,这个对象所对应的类需要重载hashCode()和equals()两个方法。 因为在HashMap中,查找key的顺序为: 1.计算对象的HashCode,检查其在表中是否存在; 2.检查对应HashCode位置中的对象和当前对象是否相等。 如果没有进行重载,在HashMap中查找key时会默认调用Object类的hashCode()和equals()这两个方法,即根据对象地址计算hash code,根据对象地址进行比较。如果需要利用对象里的值来进行比较,就要重载这两个方法。
挑战失败
2年前
挑战失败
2年前
挑战失败
2年前
挑战失败
2年前
挑战失败
2年前
挑战失败
2年前
挑战失败
2年前
挑战失败
2年前
挑战失败
2年前
挑战失败
2年前