set 集合 的存儲特性上是不允許壹個集合中存在兩個相同的數據的,即使是null數據也只允許有壹個
而set集合判定兩個對象是否相同就是依據其hashcode。對象的hashcode由對象的hashcode方法取值並不是說
重寫了hashcode方法就壹定不會出現相同的情況比如
class?student{private?id;
private?age;
public?int?hashcode(){
return?id*age;
}
}
現在有兩個學生 student1 {id=2,age=3} student2 {id=3,age=2}
他們的hashcode計算出來都是6 這兩個對象就不能同時存在壹個set集合
set集合取hashcode值為兩個對象是否相等的判定標準。不調用compare()和equals()