Multimaps可以有多个值,如果它包含多个值,我将如何从键中返回所有值。
Multimap<String, String> wordcount = ArrayListMultimap.create();
wordcount.put("1", "Dog");
wordcount.put("1", "Dog2");
wordcount.put("1", "Dog3");
所以你可以在上面看到我给出了我的Multimap键&#34; 1&#34;以下值&#34; Dog&#34;,&#34; Dog2&#34; &安培; &#34; Dog3&#34;我怎么能打印出所有的狗?
额外问题 如何检查某个键是否包含该特定键的相同字符串的多个值?我怎样才能返回&#34;相同&#34;它包含的字符串。它应返回 3 ,因为我使用相同的值指定值 3 ,因此它应返回 3 。
wordcount.put("1", "Dog");
wordcount.put("1", "Dog");
wordcount.put("1", "Dog");
答案 0 :(得分:3)
您可以执行wordcount.get("1")
它将返回包含Dog1, Dog2, Dog3
对于你的额外问题:如果你想使用wordcount.get("1")
实例,我认为你必须做ArrayListMultimap
来获取List对象并遍历列表对象。
或者,您可能需要签出Multiset<String>
来跟踪输入字符串的出现次数。在这种情况下,您可以使用Map<String, Multiset<String>>
而不是ArrayListMultimap
实例来避免迭代返回的列表。
但是Multiset<?>
是一个集合,因此它不会按照您放置值的顺序进行迭代。
答案 1 :(得分:2)