gpt4 book ai didi

java - 当我将重复元素添加到 HashSet 时会发生什么?旧元素是否被覆盖?

转载 作者:行者123 更新时间:2023-12-01 23:45:58 25 4
gpt4 key购买 nike

假设我想在 HashSet 中添加重复元素。我们知道这是不允许的。所以我遇到了 2 个,比方说理论

在此 link 的“属性,编号 2”下,它说:

HashSet does not allow duplicate elements. If you try to insert aduplicate element, older element will be overwritten

但是当我检查在 IDE 中提供给我的文档时,在方法 add() 中,它指出:

* If this set already contains the element, the call leaves the set
* unchanged and returns {@code false}.

那么它是覆盖(替换)旧元素还是保持集合不变并返回 false? :) 我对他们说的恰恰相反感到疯狂吗?

最佳答案

IDE 正在显示 Set.add 方法的官方规范(javadocs)的摘录。

IDE 是正确的。相信官方文档,而不是一些“漂亮”的网站。


But how could people that made that site make such a big mistake then?

永远记住,像您发现的网站这样的网站的主要动机是通过您的页面浏览量赚钱。他们通常更关注“搜索引擎优化”,而不是 Material 的质量。


But the problem is those "random" sites sometimes make 'prettier' explanation of some concepts. Official docs are sometimes too hard to follow for me as a beginner.

那么哪个更好呢?一些容易阅读但错误的东西?还是准确的东西?

在这种情况下,你不能说官方文档难懂。您自己能够看到从官方文档和第 3 方网站获取的文本之间的矛盾。

我建议我们始终尝试先阅读官方 javadoc,并且始终相信它优于任何其他来源......包括 StackOverflow 答案!唯一更权威的东西 1是OpenJDK源码。


1 - 即使这样也值得商榷。一方面,代码决定了实际发生了什么。另一方面,代码可能会从一个版本更改为另一个版本。因此,依赖 javadoc 中未指定的行为可能会导致可移植性问题。

关于java - 当我将重复元素添加到 HashSet 时会发生什么?旧元素是否被覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64174058/

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