哈希表的存儲過程(存取原理)


 哈希表的存儲過程(存取原理):每存入一個新的元素都要走以下五步

  (1)調用對象的hashCode()方法,獲得要存儲元素的哈希值。

  (2)將哈希值與表的長度(即數組的長度)進行求余運算得到一個整數值,該值就是新元素要存放的位置(即是索引值)。

  如果索引值對應的位置上沒有存儲任何元素,則直接將元素存儲到該位置上。

  如果索引值對應的位置上已經存儲了元素,則執行第3步。

  (3)遍歷該位置上的所有舊元素,依次比較每個舊元素的哈希值和新元素的哈希值是否相同。

  如果有哈希值相同的舊元素,則執行第4步。

  如果沒有哈希值相同的舊元素,則執行第5步。

  (4)比較新元素和舊元素的地址是否相同

  如果地址值相同則用新的元素替換老的元素。停止比較。

  如果地址值不同,則新元素調用equals方法與舊元素比較內容是否相同。

  如果返回true,用新的元素替換老的元素,停止比較。

  如果返回false,則回到第3步繼續遍歷下一個舊元素。

  (5)說明沒有重復,則將新元素存放到該位置上並讓新元素記住之前該位置的元素。


免責聲明!

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



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