Java经典面试题之:HashTable和HashMap区别

(1)继承父类不同:Hashtable继承自Dictionary类,HashMap继承AbstractMap类
  (2)线程安全不同:HashMap线程不安全,Hashtable线程安全
(3)HashMap没有contains方法,Hashtable实现contains方法;
(4)HashMap可以有null,Hashtable的key和value不允许出现null值
(5)两个遍历方式的内部实现不同:Hashtable用枚举方式,HashMap四种循环遍历方式
(6)hash值不同:Hashtable直接使用对象hashCode,HashMap重新计算hash值
(7)内部使用数组初始化和扩容方式不同:HashMap要求为2的整数次幂,
    Hashtable扩容时容量为原来的2倍加1;HashMap容量变为原来的两倍。

你可能感兴趣的:(Java基础)