effective java关于hashcode问题

想请教下,为什么重写equals方法时需要重写hashcode方法,使用超类存在的hashcode方法会产生什么问题嘛?

如果你不重写,每个新new的对象都会分级分配一个hashcode,即使类里的元素一样,equals相等,但是hashcode不相等。如果你把数据存入hashset中,即使equals相等,但是两个数据都可以插入hashset中,这是不合理的