hashcode相等兩個類一定相等嗎?equals呢?相反呢?


hashCode相等,equals也不一定相等, 兩個類也不一定相等

equals相同, 說明是同一個對象, 那么hashCode一定相同

 

哈希表是結合了直接尋址和鏈式尋址兩種方式,所需要的就是將需要加入哈希表的數據首先計算哈希值,其實就是預先分個組,然后再將數據掛到分組后的鏈表后面,隨着添加的數據越來越多,分組鏈上會掛接更多的數據,同一個分組鏈上的數據必定具有相同的哈希值,java中的hash函數返回的是int類型的,也就是說,最多允許存在2^32個分組,也是有限的,所以出現相同的哈希碼就不稀奇了

 

重名的人很多, 名字相同, 但不是同一個人, hashCode就是名字, 人就是對象

 

參考: https://blog.csdn.net/weixin_39532479/article/details/79814516


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM