gpt4 book ai didi

哈希linkedHashSet的java意义

转载 作者:搜寻专家 更新时间:2023-10-31 20:13:26 25 4
gpt4 key购买 nike

我知道以下关于 linkedHashSet 的事情

  • 维护插入顺序
  • 使用 LinkedList 来保持顺序
  • 我的问题是哈希是如何产生的??

我理解如果使用散列那么分桶的概念就进来了

但是,从检查 JDK 中的代码来看,LinkedHashSet 实现似乎只包含 构造函数而没有实现,所以我猜所有的逻辑都发生在 HashSet 中?

  • 所以 hashSet 默认使用 LinkedList?

让我这样提出我的问题......如果目标是写一个集合

  1. 保持独特的值(value)
  2. 使用链表保留插入顺序 THEN ...无需散列即可轻松完成...也许我们可以将此集合称为 LinkedSet

看到一个类似的问题what's the difference between HashSet and LinkedHashSet但不是很有帮助

如果我需要进一步解释我的问题,请告诉我

最佳答案

错了。 LinkedHashSet的实现其实都在LinkedHashMap中。 (而 HashSet 的实现实际上全部在 HashMap 中。Le gasp!)

HashSet 根本没有链表。

完全有可能编写一个由链表支持的 LinkedSet 集合,以保持元素的唯一性——只是它的性能会很糟糕。

关于哈希linkedHashSet的java意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14639560/

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