爲什麼重寫equals方法就要重寫hashcode方法

有這樣一個場景,我們要將很多學生加入到一個set集合中,年齡,姓名相同的視爲同一個學生。下面是student類的代碼,我們只重寫了equals方法。 下面將學生添加到set中: 發現我們自定義兩個相同學生都加進去set集合中。set集合添加元素首先根據hashcode加,如果hashcode不一樣,肯定都把元素加進去,如果hashcode一樣,再用equals比較,如果相同,則不會吧重複的加進去。
相關文章
相關標籤/搜索