* 重写hashCode的规则
* 1、比较两个对象的hashCode和equals的比较结果应该保持一致
* 2、对象中用作equals比较标准的属性,都应该用来计算hashCode值
当HashSet存储了可变元素,元素改变后的情况分析:
分析: *
步骤(1)试图删除count为5的对象的时候,HashSet会计算出对象的hashCode值,找出元素在集合中的保存位置,然后将此处的对象与count为5的对象通过equals比较,相同则删除编号(3)的元素,
编号1的元素保存的count=5,实际上位置使用count=1的hashCode值计算出来的,所以不会被步骤(1)找到所以不会删除。
步骤(2)根据hashCode值,计算出地址实际上是编号1的位置,但是使用equals比较两个对象的时候,返回false,两个不相等所以不能删除。