两个内容相同的对象具有相同的hashcode;反之不成立。
HashMap对象是根据其Key的hashCode来获取对应的Value。
map的实现是数组结合链表。hashcode决定存放位置,两个对象位置一样时比较equals方法。true的话覆盖(同一个对象),false的添加(不是同一个对象)。
如果两个对象a, b
当 a.equals(b) 返回true时, a.hashCode() 一定等于 b.hashCode()
但是, 当a.equals(b)= false时, a.hashCode() 也有可能等于 b.hashCode()
应为毕竟hashCode只是一个整数,存放的数值个数有限。
hashCode主要用途是, HashMap通过对象的hashCode值来决定存放对象的地址。
两个内容相同的对象具有相同的hashcode;反之不成立。