Hashtable和HashMap的區別

2021-08-29 05:57:47 字數 504 閱讀 2508

1.hashtable是dictionary的子類,hashmap是map介面的乙個實現類;

2.hashtable中的方法是同步的,而hashmap中的方法在預設情況下是非同步的。即是說,在多執行緒應用程式中,不用專門的操作就安全地可以使用hashtable了;而對於hashmap,則需要額外的同步機制。但hashmap的同步問題可通過collections的乙個靜態方法得到解決:

map collections.synchronizedmap(map m)

這個方法返回乙個同步的map,這個map封裝了底層的hashmap的所有方法,使得底層的hashmap即使是在多執行緒的環境中也是安全的。

3.在hashmap中,null可以作為鍵,這樣的鍵只有乙個;可以有乙個或多個鍵所對應的值為null。當get()方法返回null值時,即可以表示hashmap中沒有該鍵,也可以表示該鍵所對應的值為null。因此,在hashmap中不能由get()方法來判斷hashmap中是否存在某個鍵,而應該用containskey()方法來判斷。

Java中HashTable和HashMap的區別

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

資料結構之HashTable與HashMap

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

Hashtable和Dictionary效能比較

在.net1.1裡經常會使用到hashtable,到裡.net 2.0以後我發現有了乙個很好用的idictionary實現類dictionary。但還是會擔心dictionary的檢索效率是否跟hashtable相當,據我了解arraylist的檢索效率是非常差的,binarysearch也不如ha...