java - 哈希集实现

标签 java hashmap hashtable

根据HashSet.java,HashSet的内部设计使用了HashMap

 public HashSet() {
        map = new HashMap<>();
    }

java 文档说

This class implements the Set interface, backed by a hash table (actually a HashMap instance).

大多数书籍将 HashSet 称为 Java Generics 的“它是通过哈希表实现的”

HashTable 拉伸(stretch)的原因是什么?为什么不使用 HashMap 呢?

最佳答案

一个hash table是一种抽象的数据结构,可以通过多种不同的方式实现。在 Java 标准库中,HashMap 是这样的一种实现,HashTable 是另一种实现。文档中的措辞指的是通用的哈希表。

关于java - 哈希集实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21635919/

相关文章:

java - 创建自定义 Nullable 注释

java - 使用 xpath 计算行数但 .size() 不可用

用于 MongoDB 的 Java API

java - 在具有 csv 文件的变量上加载数据 infile

java - Java中的HashMap是如何使用equals()和hashCode()来查找对象的?

java - 如何从java中的hashmap中删除字符串数组值?

java - 如果我同时(从多个线程)写入 java.util.HashMap,可能发生的最糟糕的事情是什么?

java - 如何循环遍历 Map 并克隆每个值?

data-structures - Python - 哈希堆实现

algorithm - 为什么在链式哈希表中成功搜索的平均时间复杂度为 Θ(1+(n/m))?