15 HashMap和HashTable的區別

2021-10-02 19:31:27 字數 568 閱讀 4815

1.考察目標

​ 集合的體系結構是否熟悉

​ jdk版本更新是否了解

2.題目分析

相同點:

​ 都是雙列集合,乙個鍵對應乙個值

​ 都是鍵不能重複,但是值可以重複

不同點:

​ 出現的版本區別:

​ hashmap是jdk1.2版本出現的.

​ hashtable是jdk1.0版本出現的.

​ 執行緒同步的區別:

​ hashmap是執行緒不同步的.

​ hashtable是執行緒同步的.

​ 儲存資料的區別:

​ hashmap可以儲存null鍵和null值

​ hashtable不能儲存null鍵和null值

3.應用場景

​ 雙列集合優先使用hashmap集合

​ 如果是在多執行緒的場景下,也無需使用hashtable集合,我們可以使用concurrenthashmap集合,該集合是乙個執行緒同步的!

​ hashtable集合雖然使用不多,但是它有乙個給力的子類:properties集合在大量使用中,一般配合io流來載入配置檔案!

《併發程式設計》 15 執行緒安全的HashMap

眾所周知,hashmap是執行緒不安全的。但是如果需要乙個執行緒按鈕的hashmap我們需要怎麼做的。其中乙個可行的辦法就是collections.synchronizedmap。如下 就是執行緒安全的hashmap public static map m collections.synchroni...

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