gpt4 book ai didi

java - 为什么HashSet的属性不允许重复?

转载 作者:行者123 更新时间:2023-12-02 01:03:17 26 4
gpt4 key购买 nike

HashSet 的一个众所周知的功能是它不允许重复。例如:

HashSet<Integer> h = new HashSet<>();
h.add(5);
h.add(5); // this time it won't allow it, because its a duplicate.

但是,为什么会这样呢?拥有一个在最佳情况下添加 O(1) 并在最佳情况下搜索 O(1) 的数据结构似乎很有用,并且如果我有重复项,它仍然很有用。 Java实现HashSet的方式是否不允许它有重复项,或者只是出于某种原因的选择?

最佳答案

因为它是 Set 的众所周知的属性,链接的 JavaDoc 的第一行内容为

A collection that contains no duplicate elements.

因此HashSetTreeSet (以及所有其他正确实现的Set)不允许重复。

关于java - 为什么HashSet的属性不允许重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60387365/

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