这是我实施的一部分
aFList = new HashSet<Fault>();
bFList = new HashSet<Fault>();
oFList = new HashSet<Fault>();
temp.addAll(aFList);
temp.addAll(bFList);
oFList.addAll(temp);
故障类如下
public class Fault {
int nodeIndex;
boolean val;
}
Display() {
Object [] temp;
temp = aFList2.toArray();
for(int i=0;i<temp.length;i++)
((Fault) temp[i]).display();
}
结果:
14_true
6_true
17_false
16_false
16_false
9_false
14_true
问题:为什么我会重复列表元素?这可能是因为oFList已经包含了那些元素,但我认为HashSet
会处理重复。我错过了什么吗?
答案 0 :(得分:4)
如果要将类放在HashMap或HashSet中,则必须实现equals()和hashCode()。