Java 修改其中一个HashMap键
玉兰后州Java 修改其中一个HashMap键,java,dictionary,hashmap,Java,Dictionary,Hashmap,玉兰后州 **Dog key 三叶草之后的状态 null null **null size:1 亚瑟之后的国家 Dog key Dog key size:1 为什么第一套指纹无法获取含有三叶草和木兰花内容的狗对象 但在其他两组中,它是否如预期的那样 ie为什么在尝试更改为“magnolia”后,下一个get()(仍然使用正确的对象ie get(new Dog(“clover”))无法获取值“Dog key”?在变为相等之后。。仍然相同的输出- //忽略您需要了解HashMap是如
**Dog key
三叶草之后的状态
null
null
**null
size:1
亚瑟之后的国家
Dog key
Dog key
size:1
为什么第一套指纹无法获取含有三叶草和木兰花内容的狗对象
但在其他两组中,它是否如预期的那样
ie为什么在尝试更改为“magnolia”后,下一个get()(仍然使用正确的对象ie get(new Dog(“clover”))无法获取值“Dog key”?在变为相等之后。。仍然相同的输出-
//忽略您需要了解HashMap是如何工作的 当您将一个键放入包含N个bucket的HashMap中时,该键的hashCode将用于查找适当的bucket。然后使用equals()将bucket中包含的每个键与添加的键进行比较,以了解该键是否已在映射中 类似地,在获取键的值时,首先使用hashCode()查找适当的bucket,然后将此bucket中的每个键与传递给get()的键的equals()进行比较 您正在做两件在使用HashMaps时永远不应该做的事情:
综上所述,您应该能够理解代码为何以这种方式工作。只要在纸上画出每个操作的结果,你就会明白。你需要了解HashMap是如何工作的 当您将一个键放入包含N个bucket的HashMap中时,该键的hashCode将用于查找适当的bucket。然后使用equals()将bucket中包含的每个键与添加的键进行比较,以了解该键是否已在映射中 类似地,在获取键的值时,首先使用hashCode()查找适当的bucket,然后将此bucket中的每个键与传递给get()的键的equals()进行比较 您正在做两件在使用HashMaps时永远不应该做的事情:
综上所述,您应该能够理解代码为何以这种方式工作。只要在纸上画出每个操作的结果,你就会明白。你需要了解HashMap是如何工作的 当您将一个键放入包含N个bucket的HashMap中时,该键的hashCode将用于查找适当的bucket。然后使用equals()将bucket中包含的每个键与添加的键进行比较,以了解该键是否已在映射中 类似地,在获取键的值时,首先使用hashCode()查找适当的bucket,然后将此bucket中的每个键与传递给get()的键的equals()进行比较 您正在做两件在使用HashMaps时永远不应该做的事情:
综上所述,您应该能够理解代码为何以这种方式工作。只要在纸上画出每个操作的结果,你就会明白。你需要了解HashMap是如何工作的 当您将一个键放入包含N个bucket的HashMap中时,该键的hashCode将用于查找适当的bucket。然后使用equals()将bucket中包含的每个键与添加的键进行比较,以了解该键是否已在映射中 类似地,在获取键的值时,首先使用hashCode()查找适当的bucket,然后将此bucket中的每个键与传递给get()的键的equals()进行比较 您正在做两件在使用HashMaps时永远不应该做的事情:
Dog key
Dog key
size:1
Dog key
Dog key
size:1