HashMap與Hashtable的異同點
- hashtable是線程安全的,hashmap不是。對線程要求不嚴格的情況下,hashmap的性能更好。
- HashTable不允許null作為key值或value值,Hashmap可以允許一個null作為key值,同時允許多個null作為value值。
- HashMap有個子類LinkedHashMap,如果你想實作線性的HashMap,讓元素有序插入,如果你使用HashMap的話,你可以較友善的切換為LinkedHashMap,但是如果你使用HashTable,就會麻煩很多。
現在也很少使用Hashtable了,因為Hashtable在保證線程安全的時候,隻是簡單的加上synchronized關鍵字,性能上并沒有多好。如果想使用線程安全的hashmap,你應該使用ConcurrentHashMap.