我有一个映射,其中的值是整数的集合。我想要做的是以最好的方式(只使用Java )得到所有整数集的集合。
Map<Long, Set<Integer>> map;到目前为止,我认为的是循环遍历映射的值()并手动添加到大集合中:
Set<Integer> bigSet = new HashSet<>();
Iterator<Set<Integer>> iter = map.values().iterator();
while(iter.hasNext())
bigSet.addAll(iter.next());此外,一个由地图支持的联盟的集合将是伟大的。不幸的是,我被Java 7困住了。
发布于 2015-05-30 17:17:42
一方面,您可以使用新的Java 8 fluent接口
import static java.util.stream.Collectors.toSet;
Set<Integer> myUnion = map
.values()
.stream()
.flatMap(set -> set.stream())
.collect(toSet());另一方面,如果您可以使用外部库,我建议您查看一下番石榴SetMultimap。
https://stackoverflow.com/questions/30549072
复制相似问题