Java中HashMap和Hashtable的差別淺析。本站提示廣大學習愛好者:(Java中HashMap和Hashtable的差別淺析)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中HashMap和Hashtable的差別淺析正文
HashMap是Hashtable的輕量級完成(非線程平安的完成),他們都完成了Map接口,重要差別在於HashMap許可空(null)鍵值(key),因為非線程平安,效力上能夠高於Hashtable。
HashMap許可將null作為一個entry的key或許value,而Hashtable不許可。
HashMap把Hashtable的contains辦法去失落了,改成containsvalue和containsKey。由於contains辦法輕易讓人惹起誤會。
Hashtable繼續自Dictionary類,而HashMap是Java1.2引進的Map interface的一個完成。
最年夜的分歧是,Hashtable的辦法是Synchronize的,而HashMap不是,在多個線程拜訪Hashtable時,不須要本身為它的辦法完成同步,而HashMap 就必需為之供給外同步。
Hashtable和HashMap采取的hash/rehash算法都年夜概一樣,所以機能不會有很年夜的差別。