原理介紹如下:
HashMap是基於Hash演算法實現的。
(線上學習影片教學分享:java影片教學)
在使用put(key,value)方法時,HashMap會根據key.hashCode()方法得出key的hash值,然後根據hash值找到對應的bucket位置,如果這個區域已經有元素存在,則會再做一個euqal()比較,如果相等,則新增失敗,因為HashMap不允許有相同key值,如果不相等,只是單純的hash衝突。
JDK1.8前,HashMap會把這個元素存入鍊錶的下一個節點, HashMap在每個鍊錶節點中儲存的都是鍵值對物件。 JDK1.8之後,HashMap加入了紅黑樹,所以在鍊錶節點數目超過8個後,會由鍊錶轉為紅黑樹,而一旦小於,又會從紅黑樹轉回鍊錶。
相關文章教學推薦:java快速入門
以上是HashMap的工作原理是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!