为什么不建议把会变化的对象状态作为 HashMap key 的哈希依据?
参考答案
若 key 放入 Map 后,参与 equals 或 hashCode 的字段发生变化,后续查询可能落入不同的桶或无法匹配原位置,从而找不到已存在的条目。
题目解析
优先使用不可变 key;如必须变更,先删除旧映射,修改后再重新插入。
若 key 放入 Map 后,参与 equals 或 hashCode 的字段发生变化,后续查询可能落入不同的桶或无法匹配原位置,从而找不到已存在的条目。
优先使用不可变 key;如必须变更,先删除旧映射,修改后再重新插入。