【发布时间】:2018-05-30 01:08:17
【问题描述】:
我正在学习 Java 集合框架并获得了适度的理解。现在,当我走得更远时,我对:HashMap、HashSet、Hashtable 产生了一些疑问。
HashMap 的 Javadoc 说:
Map 接口的基于哈希表的实现。这 实现提供了所有可选的映射操作,并且 允许空值和空键。
HashSet 的 Javadoc 说:
这个类实现了 Set 接口,由一个哈希表支持 (实际上是一个 HashMap 实例)。它不保证 集合的迭代顺序;特别是,它不保证 随着时间的推移,顺序将保持不变。
Hashtable 的 Javadoc 说:
这个类实现了一个哈希表,它将键映射到值。任何 非空对象可以用作键或值。
令人困惑的是它们都实现了hash table。他们是否实现了哈希表的概念?
似乎所有这些都是相互关联的,但我无法完全理解。
谁能帮我用简单的语言理解这个概念。
【问题讨论】:
标签: java hash hashmap hashtable hashset