Java 番石榴独特多重映射值

Java 番石榴独特多重映射值,java,guava,Java,Guava,我有一张像这样的番石榴地图 Multimap<String, String> multiMap = HashMultimap.create(); multiMap.put("a", "x"); multiMap.put("a", "y"); multiMap.put("b", "y"); multiMap.put("b", "z"); multiMap.put("d", "x"); multiMap.put("c", "h"); 但是我想知道一组不同的值 我知道迭代器.filter

我有一张像这样的番石榴地图

Multimap<String, String> multiMap = HashMultimap.create();
multiMap.put("a", "x");
multiMap.put("a", "y");
multiMap.put("b", "y");
multiMap.put("b", "z");
multiMap.put("d", "x");
multiMap.put("c", "h");
但是我想知道一组不同的值

我知道迭代器.filter()是可用的,但不确定该如何实现。预期的结果应该是

// x,y,z,h
我只要用

Sets.newHashSet(multiMap.values());
或者,如果您想要一个不可变的版本:

ImmutableSet.copyOf(multiMap.values());

请注意,在任何一种情况下,您都不再拥有值的实时视图,而是一个副本。

所有正确但旨在获取多重映射值的方法都称为
values()
,而不是
getValues()
ImmutableSet.copyOf(multiMap.values());