问题标签 [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 回答
946 浏览

java - Java 两个 Set 对象 - hashCode() 相同但 .equals() 失败

我有两组自定义对象(LinkedHashSet),它们覆盖了 hashCode() 和 equals() 方法。

在比较这两个集合时,即使哈希码相同,equal() 方法也会失败。

这将返回:

cmContacts.equals(cm2Contacts):false

cm2Contacts.equals(cmContacts):false

比较哈希码:真

根据文档,如果哈希码相同,则 equals 方法应返回 true。

集合的哈希码定义为集合中元素的哈希码之和,其中空元素的哈希码定义为零。这确保了 s1.equals(s2) 意味着任何两个集合 s1 和 s2 的 s1.hashCode()==s2.hashCode(),这是 Object.hashCode() 的一般合同所要求的。

https://docs.oracle.com/javase/7/docs/api/java/util/Set.html#equals(java.lang.Object)

任何想法为什么会发生这种情况?

0 投票
1 回答
809 浏览

java - 按日期时间排序 LinkedHashset

我有以下 LinkedHashset

它与 LinkedHashset 一样,因为我在添加时有许多重复的条目,它可以防止这种情况。

然后我如何对我的 LinkedHashset 进行排序

0 投票
2 回答
1072 浏览

java - 从 LinkedHashSet 到 String 的 ClassCastException

我想从 LinkedHashSet 中获取字符串数组,但我在尝试在 foreach 循环中打印我的值的地方得到 ClassCastException。

我知道 powerset 方法有问题,但是当我尝试通过在方法中添加 LinkedHashSet 来修复它时,我失败了。

我相信有一种方法可以让字符串脱离对象。最后的想法是将它写在文件中,而不是使用正则表达式,但它似乎很异国情调......

跟踪:线程“main”中的异常 java.lang.ClassCastException:java.util.LinkedHashSet 无法转换为 [Ljava.lang.String; 在 Main.main(Main.java:61)

0 投票
4 回答
13033 浏览

java - LinkedHashSet - 插入顺序和重复 - 保持最新的“顶部”

我需要一个保持插入顺序并具有唯一值的集合。LinkedHashSet 看起来像是要走的路,但有一个问题 - 当两个项目相等时,它会删除最新的一个(这是有道理的),这是一个例子:

LinkedHashSet打印:

one, two,three

但我需要的是:

one, three,two

这里最好的解决方案是什么?是否有任何收集/收集方法可以做到这一点,或者我应该手动实现它?

0 投票
1 回答
11562 浏览

java - 按插入顺序检索 LinkedHashSet 元素并将其保存到局部变量中

我有一个linkedhashset,我需要按照插入的顺序从中获取元素。要检索,我坚持以确切的插入顺序获取元素。

将linkedHashset转换为List以按索引获取,但恐怕转换为list会打乱我的元素更改顺序

转换为列表是我的主要目标,即首先按插入顺序检索它们,因为列表不保留顺序。

你能在这里给我推荐一个替代品或我的错误吗?

0 投票
4 回答
1184 浏览

java - 获取 LinkedHashSet 的最后 5 个元素的子列表?

是否有一个衬垫可以在新的 LinkedHashSet 中获取 LinkedHashSet 的最后 5 个元素?

这是我目前拥有的,但效率不高:

或者我应该在这种情况下使用 TreeSet、SortedSet、HashSet 吗?

0 投票
1 回答
58 浏览

java - Java - HashSet 过滤重复项(XSSFCell)

我有一个包含重复项的列表,需要删除它们。我的清单是形式

存储在“结果”列表中的数据样本是:

  • [ABC,123,2016 年 4 月 22 日]
  • [DEF,456,2016 年 4 月 22 日]
  • [ABC,123,2016 年 4 月 22 日]
  • [ABC,123,2016 年 1 月 10 日]

基于此链接,我尝试了以下代码:

预期输出为:

  • [ABC,123,2016 年 4 月 22 日]
  • [DEF,456,2016 年 4 月 22 日]
  • [ABC,123,2016 年 1 月 10 日]

但它并没有删除重复项,整个列表都保存在集合中。希望对所面临的问题很清楚,寻求指导。

0 投票
1 回答
1158 浏览

java - 如何使用最简单、最少的数据结构来实现 LFU 缓存?

我在一次采访中被问到这个问题,他首先询问了 LRU 和 LFU 之间的区别,然后要求实现两者。我知道 LRU 可以通过 LinkedHashMap 实现,但我对 LFU 感到困惑。谁能告诉我如何用最简单的数据结构和很好的解释来实现它?也可以用 LinkedHashMap 实现吗?

0 投票
1 回答
493 浏览

list - Java:返回一个 LinkedHashSet

基本上,我试图在 Java 中返回一个字符串集合。但...

  • 每个字符串必须是唯一的,因为它们都是当前文件夹中“.db”文件的名称,所以我认为这个集合应该是 LinkedHashSet。
  • 元素(文件名)必须保持完全相同的顺序,所以我可以通过它在集合中的顺序号选择其中一个。

我的主要例程将在 GUI 组件(可能是 JList)中显示此集合,供用户选择其中一个(不带 .db 扩展名)。我完全是新手(如您所见),所以如果您认为有比 LinkedHashSet 更好的选择,请告诉我。

另外,我怎样才能在主类中获取这个集合?

到目前为止我得到了什么:

0 投票
2 回答
69 浏览

java - 从运行时列表中删除重复的字符串

我不明白为什么这个函数没有从列表中删除重复的字符串。