问题标签 [linkedhashset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
133 浏览

java - LinkedHashSet.contains() 在应该返回 false 时返回 true

在日志中:

怎么回事?如果 DEF_IDS 不包含“profile0”,为什么它说它包含?

0 投票
1 回答
652 浏览

java - LinkedHashSet 在没有覆盖 hashCode() 和 equals() 的对象上

我有以下对象集合:

MyClass不会覆盖hashcodeandequals方法。

即使 MyClass 不覆盖hashCodeandequals方法,上述集合是否也只能是唯一的对象?

0 投票
3 回答
1113 浏览

java - Java-比较 itr() 和 itr.next() 的双精度值

编辑:预期的输出在最后发布。

我编写了一个程序,通过Riemann-Siegel 公式计算Riemann Zeta 函数的零点。我对调整程序中的一种方法来观察所谓的Lehmer 现象很感兴趣。

在程序内部,我正在寻找调整findRoots()方法的结尾。

完整的程序参考

打印的零包括

... 以及更多。为了观察莱默现象,我正在寻找调整以下

类似于

因此,仅当两个值靠近时才打印零。我可以用迭代器做到这一点吗?我需要改用 ListIterator 吗?

我尝试了增强的 for 循环并遇到了同样的问题。是否有更好或更有效的方法来比较从 LinkedHashSet 集中打印的值?

(注意:我最初创建的是 TreeSet 而不是 LinkedHashSet。后来当我意识到 LinkedHashSet 比 TreeSet 快得多时,我将其更改为 LinkedHashSet)

预期输出(i < 50000在 findRoots() 方法内更改)

输出。这两个零在 EPSILON 之内(彼此相差 0.05)。这很重要的原因在于 Z(t) 函数背后的数学。可以调整 EPSILON 以找到更靠近的零点。

0 投票
2 回答
1992 浏览

java - java.util.Arrays$ArrayList 不能转换为 java.util.LinkedHashSet

我想编写一个 java 程序,它会给我一个给定的字母频率String

我试过这个:

为什么我使用LinkedHashSet,因为我不想要任何重复。然而,这给了我一个错误,即这种类型的转换是不正确的。

所以我用它作为几行额外的代码:

List<String> lhs = Arrays.asList(strMOd); LinkedHashSet<String> lhsmod = new LinkedHashSet<String>(lhs);

为什么以前的代码会给出这个错误,在 的帮助下这样做有什么好处LinkedHashSet

0 投票
1 回答
117 浏览

java - LinkedHashSet 无法从 ArrayList 中删除重复的句子

我正在构建一个 android/Java 程序,它从文本文件中读取并将每个句子存储在数组列表中的文本文件中。然后它检查句子中每个单词的出现情况,并打印出所有包含重复单词的句子。

这是我用来打印最终结果的代码:

  1. 我的程序首先读取一个文本文件,然后将我的文本文件中的每个句子存储在一个名为“句子”的句子数组列表中。

  2. 然后它读取文本文件中的每个单词,并将重复多次的每个单词存储在一个名为“key”的数组列表中。

  3. 然后它检查每个句子中是否存在“key”,如果存在,它将这些句子添加到名为“lhs”的 LinkedHashSet 中。

  4. 然后它应该在输出屏幕上显示 LinkedHashSet 中的所有句子。

在这种情况下,我的“key”的值是“rate”、“states”和“government”

但是,我的文本文件包含这句话:“13 个州报告的失业率高于当前的全国失业率。”

如您所见,它包含“状态”和“速率”,这是我的两个关键字。

当我运行这个程序时,这个特定的句子在输出屏幕上出现了两次,因为程序分别查找每个“键”,所以它认为它们是两个不同的句子。

这就是为什么我使用 LinkedHashSet 来防止这种情况,但它仍然在输出屏幕上显示这句话两次。

我应该如何解决这个问题?

0 投票
2 回答
88 浏览

java - LinkedHashSets的HashSet不会删除有多个元素的LinkedHashSet

我正在学习数据结构和算法,并尝试在 Java 中实现不相交的数据结构。这是我做同样事情的代码-

这是我正在运行以测试我的实现的代码-

当我尝试将一个集合与另一个集合合并时,比如说 set2,它有 2 个或更多元素,集合会正确合并,但即使在调用之后 set2 也不会从集合集合中删除allsets.remove(set2)

但是,如果要合并的集合,即;set2,只有 1 个元素,allSets.remove(set2)成功从集合集合中移除 set2。

这是我的代码的输出,它确认了我的问题-

我无法理解为什么HashSet.remove(LinkedHashSet)无法删除LinkedHashSet带有多个元素的 a,但成功地删除了LinkedHashSet带有 1 个元素的 a。

任何帮助将不胜感激。非常感谢。

0 投票
3 回答
1857 浏览

java - 为什么 LinkedHashMap keyset() 不返回 LinkedHashSet vs Set?

我已经阅读了 Java 文档以及 LinkedHashMapskeyset()维护秩序的这篇文章。 从 LinkedHashMap 对象返回键和值的顺序是否得到保证?

我的问题是,如果它保证顺序,那么为什么源代码不LinkedHashMap返回Set保证顺序的类型的对象LinkedHashSet

我可能想到的一个原因是 LinkedHashSet 使用了一个会增加内存分配的映射(取决于 AbstractSet 的实现方式)。是否也是因为它未来证明了密钥集的实现?

就像这个答案在这篇文章中所说:使用列表还是集合更好?

返回列表与编程到最合适的接口是一致的。

返回一个集合会给用户带来歧义,因为返回的集合可能是:Set、List 或 Queue。

因此,无需阅读文档keyset()不是模棱两可吗?

keyset()源代码:

0 投票
1 回答
89 浏览

java - Java数组添加算法

目前我在从最低价格到最高价格的排序数组中有这组数据。

第一个排序数组的结果**[5.0,6.0,10.0,10.0,10.0]** 每个数据都与船名配对。

我的目标(创建一个新的字符串数组): [Adda,mutha,spade,ace,Titanic] Adda 是最便宜的,其次是 mutha。对于 spade、ace 和 titanic,它们按容量排序,因为它们具有相同的价格 这是我的代码

目前的结局是【阿达、穆塔、黑桃、泰坦尼克号】 缺王牌。

感谢您的帮助

0 投票
4 回答
3402 浏览

java - 如何从 LinkedHashSet 中获取前 5 个值?

我有一个包含多个值的 LinkedHashSet。

我想遍历一组值并显示该组中存储的项目数中的前五个值。我使用了一个 for 循环来遍历值并显示数据,见下文:

这将输出存储在 LinkedHashSet 中的所有值。为了只从集合中获取前 5 个值,我应该对我的代码进行哪些更改。

0 投票
3 回答
684 浏览

java - java集合保留顺序并且应该是唯一的

明显不会保持秩序

从上面的集合中读取元素时,它应该保持顺序,但有时它不会?我的观察是错的还是我遗漏了什么?