阅读了一下HashMap的原理和源码,自己也做了下实验,提醒下需要注意的地方。
如果两个Key的hashcode相同equals也相同,那么第二个一定会替代第一个。
如果两个Key的hashcode相同但是equals不同,这是比较危险的,因为程序会在第一个key做hash后的位置中去找和第二个key equals的地方,结果发现没找到,整个entry链表都会清空,
阅读了一下HashMap的原理和源码,自己也做了下实验,提醒下需要注意的地方。
如果两个Key的hashcode相同equals也相同,那么第二个一定会替代第一个。
如果两个Key的hashcode相同但是equals不同,这是比较危险的,因为程序会在第一个key做hash后的位置中去找和第二个key equals的地方,结果发现没找到,整个entry链表都会清空,