假设我已经创建了一个名为Time的类,其构造函数需要3个参数。小时,分钟和秒。
现在,我创建一个对象t1 = new Time(10, 10, 10);
,然后创建另一个对象t2 = new Time(10, 10, 10)
现在我在hashset中使用它们。
hashset.add(t1);
hashset.add(t2);
现在hashset的大小为2.如果对象的值相同,如何将其修改为大小为1?
示例:
void eradicateDuplicate(List<Time> list) {
for (Time t : list) {
hashSet.add(t);
}
}
我希望这段代码能够根除所有具有相同值的重复时间对象吗?
谢谢,
答案 0 :(得分:5)
如果您在Time对象中实施方法#hashCode
和#equals
,则会自动执行此操作。
答案 1 :(得分:0)
你不需要做任何事情。如果它与第一个相同,则不会添加第二个。