当 equals 方法说它们是相同的时,HashSet 只存储值。那正是我所想。
但是现在我将 Elements 添加到 HashSet 中,其中 equals 方法返回 true 并且集合的大小仍在增长?对不起,我很困惑。我错了的一些提示会很好。
Element t1 = new Element(false, false, false, false);
Element t2 = new Element(true, true, true, true);
Element t3 = new Element(false, false, false, false);
if (t1.equals(t3))
System.out.println("they're equal");
Set<Element> set = new HashSet<>();
set.add(t1);
set.add(t2);
set.add(t3);
System.out.println("set size: " + set.size());
所以在这个例子中我的控制台输出是:
它们的
大小相等:3
这对我来说毫无意义..尺寸应该是2吗?