HashMap的工作原理和hashtable區別

2022-06-06 23:24:11 字數 467 閱讀 8157

1. hashmap的工作原理?

hashmap底層是陣列+鍊錶

以陣列儲存元素,如有hash相同的元素,在陣列結構中,建立鍊錶結構,再把hash相同的元素放到鍊錶的下乙個節點

基於hashing(雜湊法/雜湊法-是一種將字元組成的字串轉換為固定長度的數值或索引值的方法)的原理。

通過put(),get()方法來儲存和獲取物件。當我們將鍵值對傳遞給put()方法的時候,呼叫鍵物件的hashcode()方法來計算雜湊值,然後找到bucket(桶)位置來儲存物件。當我們要獲取物件的時候,通過鍵物件的equal()方法找到正確的鍵值對,然後返回值物件,使用鍊錶來解決碰撞的問題,當發生碰撞了,物件就會儲存在鍊錶的下乙個節點。hashmap在每個鍊錶節點中儲存鍵值對物件。

2.hashmap 和hashtable 的區別?

主要區別有:執行緒安全性,同步(synchronization),以及速度

showtooltip

HashMap工作原理 和 HashTable

你用過hashmap嗎 譬如hashmap可以接受null鍵值和值,而hashtable則不能 hashmap是非synchronized hashmap很快 以及hashmap儲存的是鍵值對等等。你知道hashmap的工作原理嗎 hashmap是基於hashing的原理,我們使用put key,v...

HashMap工作原理

以前使用過很多次hashmap,但是對於其是如何實現的卻不是很了解,最近看了看hashmap的原始碼加上自己的理解寫了這篇文章方便以後回憶,寫得不好的地方請提醒。hashmap繼承了abstractmap類並且實現了map cloneable serializable三個介面。ps 並不是每乙個集合...

HashMap的工作原理

hashmap的工作原理 hashmap基於hashing原理,我們通過put 和get 方法儲存和獲取物件。當我們將鍵值對傳遞給put 方法時,它呼叫鍵物件的hashcode 方法來計算hashcode值,然後找到bucket位置來儲存值物件。當獲取物件時,通過鍵物件的equals 方法找到正確的...