【问题标题】:Removing items from a Hashmap that DOESN'T have a specific value从没有特定值的 Hashmap 中删除项目
【发布时间】:2020-10-15 19:27:05
【问题描述】:

我有一个 Hashmap。键是这个等式中包含 b 和 c 的整数列表

a = n*b+c

并且值为a。我只想要给我 a 的特定值的键 (a,b),例如 3。我知道如何使用值删除键/值对,但我需要相反的帮助。我想保留所有具有相同值的键/值对

a.map.entrySet().removeIf(entries -> entries.getValue() == a);

基本上,有没有办法说类似

map.entrySet().removeIf(entries -> entries.getValue() != a);

【问题讨论】:

  • 我不关注。例如。如果要删除值为 != 3 的条目,只需执行以下操作:map.entrySet().removeIf(entries -> !entries.getValue().equals(3))。任何布尔条件都可以做到
  • 是的,这就是解决方案。我只是不知道语法。谢谢!

标签: java hashmap


【解决方案1】:

你已经拥有了。 map.entrySet().removeIf(entries -> entries.getValue() != a) 已经可以了。 (尽管您可能不得不改用!entries.getValue().equals(a)。)

【讨论】:

  • 我得到“这个表达式的目标类型必须是一个函数接口”。尝试这个时
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-07
  • 1970-01-01
  • 1970-01-01
  • 2015-05-08
相关资源
最近更新 更多