HashMap和Hashtable的區別

2022-09-13 12:09:09 字數 529 閱讀 3262

hashtable是同步的,加了synchronized鎖,而hashmap不是。沒有加synchronized鎖的物件,效能通常比加了synchronized鎖的物件要更好一些,因此,如果是非多執行緒程式,不需要考慮鎖、同步等問題,那麼使用hashmap更好。

hashtable不允許有空的鍵或值。hashmap允許空鍵和空值。

hashmap有乙個子類linkedhashmap,對這個類物件進行迭代時,它的順序是有序的(按插入順序排序)。如有需要,你也能輕易的從linkedhashmap轉化成hashmaphashtable就沒那麼簡單了,

總之,如果你無需關心同步(synchronized)問題,我會建議用hashmap。反之,你可以考慮使用concurrenthashmap

HashMap的工作原理和hashtable區別

1.hashmap的工作原理?hashmap底層是陣列 鍊錶 以陣列儲存元素,如有hash相同的元素,在陣列結構中,建立鍊錶結構,再把hash相同的元素放到鍊錶的下乙個節點 基於hashing 雜湊法 雜湊法 是一種將字元組成的字串轉換為固定長度的數值或索引值的方法 的原理。通過put get 方法...

HashMap和LinkedHashMap的區別

hashmap,linkedhashmap,treemap都屬於map map 主要用於儲存鍵 key 值 value 對,根據鍵得到值,因此鍵不允許鍵重複,但允許值重複。hashmap 是乙個最常用的map,它根據鍵的hashcode 值儲存資料,根據鍵可以直接獲取它的值,具有很快的訪問速度。ha...

HashMap和LinkedHashMap的區別

hashmap,linkedhashmap,treemap都屬於map map 主要用於儲存鍵 key 值 value 對,根據鍵得到值,因此鍵不允許鍵重複,但允許值重複。hashmap 是乙個最常用的map,它根據鍵的hashcode 值儲存資料,根據鍵可以直接獲取它的值,具有很快的訪問速度。ha...