首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Java将集合内的集合连接(并)

用Java将集合内的集合连接(并)
EN

Stack Overflow用户
提问于 2015-05-30 17:15:50
回答 1查看 3.3K关注 0票数 2

我有一个映射,其中的值是整数的集合。我想要做的是以最好的方式(只使用Java )得到所有整数集的集合。

代码语言:javascript
复制
Map<Long, Set<Integer>> map;

到目前为止,我认为的是循环遍历映射的值()并手动添加到大集合中:

代码语言:javascript
复制
Set<Integer> bigSet = new HashSet<>();
Iterator<Set<Integer>> iter = map.values().iterator();
while(iter.hasNext())
    bigSet.addAll(iter.next());

此外,一个由地图支持的联盟的集合将是伟大的。不幸的是,我被Java 7困住了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-30 17:17:42

一方面,您可以使用新的Java 8 fluent接口

代码语言:javascript
复制
import static java.util.stream.Collectors.toSet;

Set<Integer> myUnion = map
        .values()
        .stream()
        .flatMap(set -> set.stream())
        .collect(toSet());

另一方面,如果您可以使用外部库,我建议您查看一下番石榴SetMultimap

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30549072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档