HashMap的底層實現。(05)

2021-08-21 05:27:42 字數 831 閱讀 4621

#hashmap的簡介

子曰:「學而不思則罔,思而不學則殆。」

###1. 為什麼學hashmap

作為map介面下面乙個非常重要的知識點,hashmap是我們在工作當中必須得掌握的乙個知識點。key-value在面對很多場景都非常的有幫助。map(對映)不管是在獲取物件型別也好還是在用於spring框架的handlmap也好,鍵值對能幫我們處理非常多的事情。因此,我們需要學習這麼一種集合類。

今天,花了大半個上午學習了。如何實現簡單的hashmap!在做東西前應該先了解什麼是hashmap,所以可以先花時間看hashmap的原始碼作為參考。接著就是分析其模型。hashmap實際上就是兩個集合的一種結合。一張arraylist一張linklist。

不知道我理解的對不對。但是大部分都是這麼說的姑且就相信了他們吧!

做原始碼首先要建立其模型。

建立乙個key,乙個value.

然後就是put,get,remove等等。只是大概的了解。

public class testhashmap 

public object get(object key)

} return null; }

//類似的方式進行建造.

public static void main(string args)

}

HashMap底層實現

hashmap中定義了乙個node結構,很明顯可以看出這是乙個鍊錶的節點定義。鍵值對key和value以及key的hash值都儲存在這個節點中 static class node implements map.entry hashmap的插入方法在key值已存在的時候是直接替換掉value值,若ke...

HashMap的底層實現

hashmap底層是使用陣列和鍊錶結合在一起使用,即鍊錶雜湊。hashmap通過key的hashcode經過擾動函式hash int h 處理後得到hash值,然後通過 n 1 hash 確定該元素存放的位置,if 當前位置已存在元素,就判斷當前位置的元素hash值以及key 是否相同,如果相同則直...

hashMap的底層實現

陣列 儲存區間連續,占用記憶體嚴重,定址容易,插入刪除困難 鍊錶 儲存區間離散,占用記憶體比較寬鬆,定址困難,插入刪除容易 hashmap綜合應用了這兩種資料結構,實現了定址容易,插入刪除也容易 hashmap結構示意圖 實現原理 用乙個陣列來儲存元素,但是這個陣列儲存的不是基本資料型別。hashm...