HashMap 根据 key 查找值时,hashCode 与 equals 各起什么作用?
参考答案
HashMap 利用 key 的哈希值定位候选桶,再在桶内比较候选 key;哈希相同不代表 key 相等,仍需要相等判断。
题目解析
作为 key 的类型应保持 equals 与 hashCode 契约一致:equals 相等的两个对象必须有相同 hashCode。
HashMap 利用 key 的哈希值定位候选桶,再在桶内比较候选 key;哈希相同不代表 key 相等,仍需要相等判断。
作为 key 的类型应保持 equals 与 hashCode 契约一致:equals 相等的两个对象必须有相同 hashCode。