HashTable與HashMap的區別

2021-06-27 18:34:17 字數 439 閱讀 8854

執行緒同步:執行緒同步,可理解為執行緒a和b一塊配合,a執行到一定程度時要依靠b的某個結果,於是停下來,示意b執行;b依言執行,再將結果給a;a再繼續操作。在多執行緒程式設計裡面,一些敏感資料不允許被多個執行緒同時訪問,此時就使用同步訪問技術,保證資料在任何時刻,最多有乙個執行緒訪問,以保證資料的完整性。

hashmap       

非執行緒安全        

允許有null的鍵和值           

效率稍高    

方法不是synchronize的,要提供外同步

有containsvalue和containskey方法  

hashtable        

執行緒安全

不允許有null的鍵和值              

效率稍低

方法是synchronize的

有contains方法

資料結構之HashTable與HashMap

首先介紹一下hashtable 與hashmap hashtable類實現乙個雜湊表,該雜湊表將鍵對映到相應的值。任何非 null 物件都可以用作鍵或值。hashmap是基於雜湊表的map 介面的實現。此實現提供所有可選的對映操作,並允許使用 null 值和 null 鍵。hashmap不保證對映的...

Java中HashTable和HashMap的區別

1 hashtable的方法是同步的,hashmap不同步,所以在多執行緒情況下,使用的是hashtable 2 hashtable不允許null值 key和value都不可以 hashmap允許null值 key和value都可以 3 hashtable有乙個contains 方法,功能和cont...

如何實現key, value有序的HashMap

想要寫個key,value有序的hashmap,出現效能問題,大家幫忙給個主意吧。b 先說下我的設計思路 b linkedhashmap裡面有乙個模擬的 雙向迴圈鍊錶 用來儲存entry的插入順序,我也可以採用這種方法來在插入的時候儲存key和value的有序。這裡暫定名為orderedhashma...