HashMap允许有null键,多个null值;HashTable不支持 null键和null值(ConcurrentHashMap不支持 null键和null值)
HashMap是非线程安全的(get put方法均无synchronized修饰),HashTable是线程安全的(get put方法均有synchronized修饰)
HashMap把Hashtable的contains()方法修改成了containsKey()containsValue()方法
HashMap继承自AbstractMap,HashTable继承自Dictionnary;
HashMap是根据key的hashcode计算出hash值进行存取,Hashtable直接是根据key的hashcode进行存取
HashMap的初始容量是16,以后每次扩容为之前的2倍;Hashtable的初始容量是11,以后每次扩容为之前的2倍加1;
1.
public class Hashtable<K,V>
extends Dictionary<K,V>
implements Map<K,V>, Cloneable, java.io.Serializable {
/////////////////////////////////////////////
public class HashMap<K,V> extends AbstractMap<K,V>
implements Map<K,V>, Cloneable, Serializable {
Hashtable继