根据HashSet.java,HashSet的内部设计使用HashMap
public HashSet() {
map = new HashMap<>();
}
java doc说
此类实现
Set
接口,由哈希表支持 (实际上是HashMap
个实例)。
大多数书籍将HashSet称为“它由哈希表实现”由Java Generics
HashTable拉伸的原因是什么?为什么不是HashMap?
答案 0 :(得分:4)
hash table是一种抽象数据结构,可以通过多种不同方式实现。在Java标准库中,HashMap
就是这样一种实现,HashTable
是另一种实现。文档中的措辞引用了泛型中的哈希表。
答案 1 :(得分:0)
他们试图解释的是HashMap是一种通用结构的Java实现 - 哈希表。并且它实现了Set接口,这意味着每个条目都保证是唯一的