講述HashMap和HashTable的區別

2021-10-23 16:18:06 字數 511 閱讀 6307

雜湊表由陣列+鍊錶組成,乙個長度為16的陣列中,每個元素儲存的是乙個鍊錶的頭結點。而hashmap和hashtable就是雜湊表結構。

陣列的儲存空間是連續的,占用記憶體嚴重,故空間複雜度很大,但是查詢時間複雜度較小。陣列的特點:定址容易,插入和刪除困難。

鍊錶的儲存空間是離散的,占用記憶體比較寬鬆,故空間複雜度較小,但查詢時間複雜度較大。鍊錶的特點:定址困難,插入和刪除容易。

1.hashmap繼承abstractmap

2.hashtable繼承dictionary

1.hashmap是非執行緒安全的,是hashtable的輕量級實現,效率較高

2.hashtable是執行緒安全的,效率較低

1.hashmap允許entry的key或value為null

2.hashtable不允許entry的key或value為null,否則出現nullpointerexception

1.hashmap沒有contains方法

2.hashtable有contains方法

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...

HashMap和LinkedHashMap的區別

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