根据HashSet.java,HashSet的内部设计使用了HashMap
public HashSet() {
map = new HashMap<>();
}
java 文档说
This class implements the
Set
interface, backed by a hash table (actually aHashMap
instance).
大多数书籍将 HashSet 称为 Java Generics 的“它是通过哈希表实现的”
HashTable 拉伸(stretch)的原因是什么?为什么不使用 HashMap 呢?
最佳答案
一个hash table是一种抽象的数据结构,可以通过多种不同的方式实现。在 Java 标准库中,HashMap
是这样的一种实现,HashTable
是另一种实现。文档中的措辞指的是通用的哈希表。
关于java - 哈希集实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21635919/