二者都是集合框架中表示key-value映射结构的api。
1.Hashtable是旧的api,继承自Dictionary抽象类;HashMap是新的api,实现自Map接口。
2.前者是线程安全的。后者不是线程安全的。
3.前者不允许使用键和值均不允许为null值。而后者(HashMap)可以。
譬如:
Hashtable h = new Hashtable();
//h.put("key", null);//下面均会抛出NullPointerException
h.put(null,"value");
而HashMap则不会,HashMap支持null值的key和value。
Map map = new HashMap();
map.put(null, "x");//运行正常
map.put(null, null);