【问题标题】:what is the mechanism that set uses to find duplicate values?set 用于查找重复值的机制是什么?
【发布时间】:2021-02-07 23:12:32
【问题描述】:

在我上次的采访中,他们问我这个问题,我想知道答案是什么? 有人能帮助我吗 java中set用来查找重复值的策略是什么?

【问题讨论】:

  • 这取决于实现。您是在询问 HashSet 或 TreeSet 还是其他一些 Set 实现?
  • @Pshemo - 同意;一般的答案是 Set 必须检查它是否已经具有该值的实例,并且“检查”取决于所选的数据结构;但大概面试官有一个特定的实施方案。在这种情况下,受访者的正确回答应该是“我应该描述哪种实现方式?”。

标签: java collections duplicates set


【解决方案1】:

我不知道其他语言,但在 java set/hashset 内部使用 hashmap。 并且每当在 set 上调用 add 方法时,如果该值存在,则使用哈希值在 hashmap 中搜索该值,则 add 方法返回 false,即未将值添加到 set。如果地图中不存在该值,则将其添加到集合中。

【讨论】:

  • HashSet 并不是 Java 中唯一的 Set。
猜你喜欢
  • 1970-01-01
  • 2013-01-05
  • 2016-08-21
  • 1970-01-01
  • 2020-05-24
  • 2011-01-20
  • 1970-01-01
  • 2021-06-15
  • 1970-01-01
相关资源
最近更新 更多