map中的兩個重要方法:添加和獲取元素


  • map.put(k,v);原理

    1. 先將k,v封裝到node對象中

    2. 底層調用hashCode()方法得出hash值,通過哈希算法將該hash值轉換成數組下標的形式。

      若下標位置沒有任何元素,則將該節點添加到對應位置上,若下標位置有元素,則用此k和鏈表中的每一個節點中的k進行比較,如果返回值為false,則該節點添加到鏈表的末尾。若返回值為true,則說明該節點的k與鏈表中某個位置上的節點中的k相同,由於鏈表的無需不可重復性,k相同時,v直接被覆蓋。

  • v=map.get(k);原理

    1. 先調用k的hashCode()方法得到哈希值,通過哈希算法將轉換成數組下標

    2. 將該節點K與對應下標位置上的鏈表中的節點K一一對比,調用重寫的equals()方法,若返回值為false,則map.get(k)返回值為:null,若返回值為true,則map.get(k)返回Value


免責聲明!

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



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