hashCode在hashSet中有做用,由于hashset存放对象。使用hash算法,所谓的hash算法就是将hashSet分为区域,而后根据hashCode的值来比较,若是有相同的就不继续存入。每一个对象的hashCode是不同的。通常不重写对象的equal方法的话,不一样的对象都会存放进hashSet。若是重写了equal方法,通常也要重写hasCode方法,若是一个对象重写了hashCode()方法,那么两个都相同属性的对象存放hashSet的时候,第二个对象就不会存放进入。对于重写了equals()和hashCode()的对象,为了不内存泄漏,咱们不能够改变hashCode()中使用到的属性的值。算法