gpt4 book ai didi

java - LinkedHashMap 怎么会找不到迭代器生成的条目呢?

转载 作者:行者123 更新时间:2023-12-02 08:37:27 26 4
gpt4 key购买 nike

在正确实现 hashCode 和 equals() 的情况下,以下代码会返回 false?

myLinkedHashMap.containsKey(myLinkedHashMap.keySet().iterator().next())

最佳答案

我能想到的最可能的情况是,即使 hashCode 是“确定性的”,它也可能基于可变字段。如果您在将 hashCode 放入 Map 后更改用于计算 hashCode 的字段,那么您将无法再找到它。

编辑:应该澄清你“通常”将无法再找到它。有时它仍然可以工作,因为两个数字仍然可以重新散列到同一个存储桶中。当然,这只会在事情发生时增加困惑!

关于java - LinkedHashMap 怎么会找不到迭代器生成的条目呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9830818/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com