gpt4 book ai didi

java - 为什么 HashSet 的名称中有 "Hash"?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:09:52 25 4
gpt4 key购买 nike

为什么 Hashset 被称为“哈希”集?

我知道我们称之为哈希表或 HashMap ,因为它是键值存储,当我们 put() 时,键会被哈希并使用一个好的哈希函数均匀分布。

我假设它称为 HashSet,因为当我们添加 () 时,该值被散列并存储以保持其唯一性。但为什么矫枉过正?我们并不真正关心数据的“平均分配”,就像我们在哈希表中所做的那样。

最佳答案

我们确实关心平均分配,因为我们希望我们的基本 Collection 操作具有恒定的时间性能。为了尊重 SET 的基本规则,没有两个对象是相等的,我们希望快速找到一个可能相等的匹配项。 HashSet 是一种相当不错的方法。与理论上的 ArraySet 相比,其中添加新元素是一个线性时间操作,用于迭代并检查每个现有条目是否相等。

关于java - 为什么 HashSet 的名称中有 "Hash"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4083621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com