2

我通常在非多线程环境中工作,所以通常使用 HashMap 而不是 Hashtable。我知道两者之间的区别,我也知道 Hashtbale 是在引入 Java Collection 框架之前引入的。如果我们通过 Hashtable 源代码我们可以找到

public class Hashtable<K,V>
extends Dictionary<K,V>
implements Map<K,V>, Cloneable, java.io.Serializable {...

我的观点是 Hashtable 是在 Java Collection 框架之前引入的(所以在 Map 引入之前)。由于Hashtable实现了Map,Hashtable实现已经被修改。我的问题是为什么Hashtable不是Java Collection Framework的一部分而Map是?

4

2 回答 2

2

在Hashtable的API文档最后一段

从 Java 2 平台 v1.2 开始,该类被改进为实现 Map 接口,使其成为 Java Collections Framework 的成员。

于 2013-05-19T06:24:11.690 回答
2

Hashtable 是作为 Java 1.0 的一部分引入的,它没有使用 Map。在 1.2 版中,它被更改为实现 Map,因此成为 Collections 框架的一部分。 http://docs.oracle.com/javase/7/docs/api/java/util/Hashtable.html

于 2013-05-19T06:24:39.980 回答