gpt4 book ai didi

iterator - 在 Java 中加入(联合)集合内部的集合

转载 作者:行者123 更新时间:2023-12-01 22:28:47 24 4
gpt4 key购买 nike

我有一张 map ,其中的值是整数集。我想要做的是以最好的方式(只使用 Java API 会很棒)获得所有整数集的联合。

Map<Long, Set<Integer>> map;

到目前为止我的想法是循环遍历 map 的 values() 并手动添加到大 Set 中:

Set<Integer> bigSet = new HashSet<>();
Iterator<Set<Integer>> iter = map.values().iterator();
while(iter.hasNext())
bigSet.addAll(iter.next());

还有一个由 map 支持的联盟集合会很棒。不幸的是,我坚持使用 Java 7。

最佳答案

一方面,您可以使用新的 Java 8 流畅界面

import static java.util.stream.Collectors.toSet;

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

另一方面,我建议看一下 Guava's SetMultimap如果您可以使用外部库。

关于iterator - 在 Java 中加入(联合)集合内部的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30549072/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com