我创建了一个名为Region的类,我将Region的实例存储在HashSet中。我使用HashSet,列表中没有相同的对象。区域的String名称在HashSet中应该是唯一的,所以我重写了equals方法。
我的问题:
如果我将具有不同名称的两个区域存储到HashSet中然后我使不同的名称相等(通过名称的setter)会发生什么?
这不重复。另一个问题是关于HashSets的相等HashSets,而不是关于HashSets中的相等对象。
答案 0 :(得分:4)
如果在对象是集合中的元素时,以影响等于比较的方式更改对象的值,则不指定集合的行为。
- 设置Javadoc