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());