主要是因为hahcode()
Hashcode()方法的作用: 哈希算法,将集合分成若干个区域,每个对象在放入集合之前由计算
机计算出一个哈吸码,可以将哈希码分组,每组分别对应某个区域,根据一个对象的哈希码可以
确定该对象应存储在哪个区域。当再次向哈希表中存入对象的时候,依旧这样儿运算,但可以快
速的判断里面是否有与现在要存的对象相同的,如果有则不能对此对象进行存储
注意:当一个对象被存储进HashSet集合中以后,就不能修改这个对象中的那些参 与 计算哈
希值 的字段了,否则,对象修改后的哈希值与最初存储进HashSet集合中时的哈希值就不同了,
在这种情况下即使使在contains方法使用该对象的当前引用作为的参数去HashSet集合中检索对
象,也将返回找不到对象的结果,这也会导致无法从HashSet集合中单独删除当前对象,从而造
成 内存泄漏.