二者都是集合框架中表示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);
本文对比了Hashtable与HashMap这两种集合框架中的API。主要介绍了两者之间的区别,包括线程安全性、是否允许null键值以及它们的历史背景。
433

被折叠的 条评论
为什么被折叠?



