Java 为什么两个哈希映射不覆盖彼此的值?

Java 为什么两个哈希映射不覆盖彼此的值?,java,hashmap,equals,Java,Hashmap,Equals,当来自不同映射的所有键的hashcode相等,并且键也相等时,为什么不将两个映射重写为: hashMap1 values : Hashcode of 1:1 1:Ram Hashcode of 2:2 2:Gaurav hashMap2 values : Hashcode of 1:1 1:Ram Hashcode of 2:2 2:Test 键是相等的,加上hashcode也是相等的,但是为什么它们没有被覆盖呢?这是在一次采访中问我的,我无法回答。您的两个哈希图是不同的对象,每个都有自己

当来自不同映射的所有键的hashcode相等,并且键也相等时,为什么不将两个映射重写为:

hashMap1 values : 
Hashcode of 1:1
1:Ram
Hashcode of 2:2
2:Gaurav
hashMap2 values : 
Hashcode of 1:1
1:Ram
Hashcode of 2:2
2:Test

键是相等的,加上hashcode也是相等的,但是为什么它们没有被覆盖呢?这是在一次采访中问我的,我无法回答。

您的两个哈希图是不同的对象,每个都有自己的键和值。没有理由期望其中一个中的键和值被另一个中的键和值重写。

这是因为它们在逻辑上和物理上都是独立的对象。如果你想在一个HASMAP中添加新的值,你会在另一个映射中期待它吗?

因为它们引用了两个不同的HASMAP实例,如果它们覆盖了,那么它不会错吗?谢谢。澄清了我的疑问。没错,我不希望它发生。有两个独立经营的实体。这消除了我的困惑。
hashMap1 values : 
Hashcode of 1:1
1:Ram
Hashcode of 2:2
2:Gaurav
hashMap2 values : 
Hashcode of 1:1
1:Ram
Hashcode of 2:2
2:Test
1, "Ram"
2, "Test"