【问题标题】:How to add a single value to all keys of a Guava multimap in Java如何在 Java 中向 Guava 多图的所有键添加单个值
【发布时间】:2021-02-19 15:16:05
【问题描述】:

如何在 Java 中为 Guava 多图的所有键添加一个值?

例如,我创建了一个带有 ID 和字符串的多图:


    final Multimap<Integer, String> myMap = HashMultimap.create();
      myMap.put(0, "snake");
      myMap.put(1, "crocodile");
      myMap.put(2, "turtle");

现在我想向所有键添加一个条目“爬行动物”。之后,我的地图应该是这样的:


    {
        0=[snake, reptile], 
        1=[crocodile, reptile], 
        2=[turtle, reptile]
    }

【问题讨论】:

  • 您可能会发现Multimap.keySet() 方法很有帮助。另请参阅How do I ask about homework questions?
  • 我有点想知道这个过程。有人将我的问题从“有没有简单的方法......?”到“如何……?”。后一种措辞表明我不知道如何实施。因此,建议我自己做作业 :D 但是感谢您的支持:)
  • 我的建议是基于内容和遗漏,而不是编辑。更多详细信息可在上面的链接中找到。
  • 哦,现在我明白了。问题是,我没有发布我当前的解决方案。我将来会这样做。谢谢你:)

标签: java hashmap guava multimap


【解决方案1】:
myMap.asMap().values().forEach(v -> v.add("reptile"));

【讨论】:

  • 感谢您的解决方案。在这种情况下,我遍历地图。没关系。但是在link 上,我发现:putAll(K key, Iterable&lt;? extends V&gt; values) 在这个多重映射中为每个值存储了一个键值对,所有值都使用相同的键。我认为我的情况有类似的解决方案。好的,我会按照你的方式做。非常感谢:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多