gpt4 book ai didi

java - Equals 和 HashCode 执行流程

转载 作者:行者123 更新时间:2023-12-01 18:11:17 25 4
gpt4 key购买 nike

我对 HashCode 和 equals 方法何时被调用有点困惑。例如

  • 如果第一次调用map.put(1, "One")。
  • 如果第二次调用map.put(1, "Two")。

最佳答案

hashCode() 总是被调用。这是找到放置条目的存储桶所必需的。

如果同一个桶中有一个键,例如,equals() 就会被调用。如果 key 相同。但是,如果某些 HashMap 与您的示例中完全相同,则它可能不会调用 equals。

注意:如果您的映射是排序映射(例如 TreeMap),则 hashCode 和 equals 都不会被调用。 TreeMap 和 ConcurrentSkipListMap 使用compareTo 方法或提供的Comparable 来确定键在树中的放置位置。

关于java - Equals 和 HashCode 执行流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32819690/

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