不重写hashcode和equals出现的问题

为什么要重写 hashcode( ) 还要重写 equals( ) ?反之亦可问。 以map中key为对象为例子 map的结构由数组+链表+树组成。put操作代码如下图 存入key,value,实际上存入的是4个值(key的hash值,key,value,不同的key却有相同value) 非重写的hashcode是以被hashcode的数据(比如对象或者一个引用类型)的内存地址进行运算得到一个值。
相关文章
相关标签/搜索