hashset underlay数据结构是哈希表。如果我们的频繁操作是搜索操作,它将识别重复项以及为什么它有用?
答案 0 :(得分:0)
它使用快速计算整数的对象的哈希码。此哈希代码尝试尽可能均匀地分布在所有潜在对象值上。
因此,它可以将插入的值分配到具有极低冲突概率的数组(哈希表)中。然后搜索操作非常快 - 获取哈希码,访问数组,比较并获取值 - 通常是恒定时间。查找重复项实际上也是如此。
哈希代码的冲突也得到了解决 - 哈希表中相同条目可能有更多的值 - 有相同的发挥作用。但它们相当罕见,因此它们不会显着影响平均性能。