為什么重寫equest就要重寫hashCode

在hashmap中,如果創(chuàng)建了一個 小明 對象,map.put(“小明”, “18” ),又創(chuàng)建了一個相同的小明對象,再次put(“小明”, “18”)的時候,
因?yàn)閮蓚€對象都是new出來的對象,所以按照默認(rèn)hashcode地址算法,得到的hashcode是不同的,而map的存儲是hashcode數(shù)組和鏈表,所以放在的不同的hashCode數(shù)組位置。
相同的對象,理論應(yīng)該存儲在同一個位置,所以我們需要重寫hashcode方法,讓他們得到相同的hashcode。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容