可能重複:
Differences between HashMap and Hashtable?如何是Hashtable的不同,以HashMap的
我見過的哈希表,並在不同的代碼中使用的哈希映射,但他們看起來像他們做同樣的事情。他們之間有區別嗎?我應該在我的代碼中使用哪一個?
可能重複:
Differences between HashMap and Hashtable?如何是Hashtable的不同,以HashMap的
我見過的哈希表,並在不同的代碼中使用的哈希映射,但他們看起來像他們做同樣的事情。他們之間有區別嗎?我應該在我的代碼中使用哪一個?
java.util.Hashtable中方法同步,的java.util.HashMap方法不是。如果您使用Hashtable將會有一個性能問題爲兩個線程將能夠同時訪問其方法。 如果你在乎線程安全在你的應用程序Hashtable是要走的路。如果你不關心線程安全哈希表是有效的方法,因爲它是有效的,然後哈希表。 也java.util.Hashtable不允許任何空鍵,其中作爲java.util.HashMap允許一個空鍵。
Hashtable是同步的,其中HashMap不是。這意味着如果您只有一個線程訪問數據,請使用HashMap,否則使用Hashtable。
它的哈希表,注意't' :) – PermGenError
@GanGnaMStYleOverFlowErroR哇,從來沒有注意到,哈哈=) –
的HashTable dont't允許空鍵,其中作爲散列映射允許一個空鍵
是的,主要的區別是,Hashtable是同步的,而HashMap不是。他們也有不同的超類層次結構。 (FWIW,由於在併發環境中使用HashMap,我曾多次在大型商業應用程序中看到相當嚴重的故障。) –
順便說一下,它是「HashMap」和「Hashtable」。請注意大小寫。 –
您是否考慮閱讀Javadoc? – EJP