Java軟件開發基礎知識梳理之(4)------HashTable與HashMap區別

1 線程安全:HashTable是線程安全,HashMap是非線程安全
2 是否允許null: HashTable的key和value均不允許爲null,HashMap的key和value均允許null
3 HashTable有一個contains(Object value),功能和containsValue(Object value)功能一樣, HashMap只有containsValue(Object value)
4 HashTable使用Enumeration,HashMap使用Iterator
5 HashTable中hash數組默認大小是11,增加的方式是 old*2+1。HashMap中hash數組的默認大小是16,增加的方式是 old*2
6 計算hashCode時,HashTable直接使用對象的hashCode, HashMap重新計算hash值
7 Hashtable繼承自Dictionary類,而HashMap繼承自AbstractMap類。但二者都實現了Map接口
8 Hashtable、HashMap都使用了 Iterator。而由於歷史原因,Hashtable還使用了Enumeration的方式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章