今兒老師講hash表是陣列和鏈表的集合,final int hash說通過key去呼叫hashcode方法通過哈希演算法得出的值,而且一個鏈表的hash值都相同,那么通過一個方法呼叫,值也相同,那么key就相同唄,然后說hashmap有個get(Object key)的方法得到value的值,那么,key相同hash相同,值也相同嘛,要都相同,這鏈表還有啥意義啊





uj5u.com熱心網友回復:
通過一個方法呼叫,值也相同,那么key就相同唄。這句話是錯誤的,值相同key不一定相同。鏈表的作用是解決hash碰撞也就是不同key,hash卻相同的問題。如果key值不同,hash相同的話需要在陣列的同樣位置利用頭插法形成鏈表,jdk1.8過后在條件滿足時會變成紅黑樹。如果在后面put一個相同的key值則會替換掉舊的value。put和get都會對key值進行比對uj5u.com熱心網友回復:
哦哦哦,謝謝
uj5u.com熱心網友回復:
hashmap的資料結構了解一下: => 【 | ---- 】轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/130962.html
標籤:Java SE
上一篇:網頁瀏覽推薦資料集
下一篇:java中這個怎么理解?
