gpt4 book ai didi

java - SCJP 书中与集合相关的逻辑

转载 作者:行者123 更新时间:2023-11-30 08:13:59 26 4
gpt4 key购买 nike

public class Person {

private String name;

public Person(String name) {
this.name = name;
}
public int hashCode() {
return 420;
}
}

根据上述程序,答案是:

答:以 Person 键从 HashMap 中查找值的时间取决于映射的大小。

我不知道为什么答案是上面的。我认为这是错误的 hashcode() 方法实现,但唯一的选项如下:

  • 哪种说法是正确的?
  • A.从具有 Person 键的 HashMap 中查找值的时间取决于取决于 map 的大小。
  • B.从 HashMap 中删除 Person 键将删除所有映射条目对于 Person 类型的所有键。
  • C.将第二个 Person 对象插入到 HashSet 中将导致第一个要作为重复项删除的 Person 对象。
  • D.判断Person对象是否包含在a中的时间HashSet 是常量,不依赖于映射的大小。

答案:A

如果有人能对此提供一些理解,那就太好了,因为我无法在网上找到任何答案

最佳答案

HashMap使用hashcode将条目放入桶中并使用equals来定位它们。如果所有条目都具有相同的哈希码,那么它们最终都会出现在同一个存储桶中。现在,每当您从 map 请求某些内容时,hashmap 都会遍历同一存储桶中的所有条目,并对每个条目调用 equals 来查找您请求的条目。这就是为什么

The time to find the value from HashMap with a Person key depends on the size of the map.

正确答案

关于java - SCJP 书中与集合相关的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29912548/

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