I analyse the HashMap source code in Java and get a question about the put method.
HashMap
put
Below is the put method in JDK1.6:
It's just avoiding a method call when it can: If the hash (which isn't hashCode(), it's the map's own hashing) is different from the entry's hash, it knows it doesn't have to call equals at all. Just optimizing a bit.
hashCode()
equals