如果任何人让我描述一下HashMap的工作机制的话,我就简单的回答:“基于Hash的规则”。换句话说,两个相等的对象应该有相同的hashcode。这个方法将对象在内存中的地址作为整数返回,这是一个很好的hash实现,他确保了不同的对象拥有不同的hashcode。所以,在HashMap中一定有一定的机制来存储这些键值对。在检测了Entry对象的存储位置后,hashmap将会遍历那个位置的entry链表,对每一个entry调用equals方法 ,这个链表中的所有对象都具有相同的hashCode()而equals方法都不等。如果发现equals方法有相等的就执行替换 。在这种方式下HashMap就能保证key的唯一性。

深入理解Java中的HashMap的实现机制

深入理解Java中的HashMap的实现机制

深入理解Java中的HashMap的实现机制