gpt4 book ai didi

Java 流 : combine elements in a map

转载 作者:行者123 更新时间:2023-11-29 04:31:25 25 4
gpt4 key购买 nike

我有一个 Map<String, List<class1> > dict这是我希望做的

Multiset<class1> dict1 = HashMutlset.create();
SetMultimap<class1, String> dict2 = HashMultimap.create();
for (Entry<String, List<class1>> entry : dict.entrySet()) {
dict1.addAll(entry.getValue());
for (class1 elem : entry.getValue()) {
dict2.put(elem, entry.getKey());
}
}

我希望将所有class1 对象放入Multiset 的列表中,并反向查找class1 对象及其键。

有什么方法可以使用流编写等效代码吗?

最佳答案

ImmutableSetMultimap<class1, String> dict2 = dict.entrySet().stream()
.collect(ImmutableSetMultimap.flatteningToImmutableSetMultimap(
entry -> entry.getKey(),
entry -> entry.getValue().stream()))
.inverse();
ImmutableMultiset<class1> dict1 = dict2.keys();

一般来说,使用Stream.forEach 将东西放入集合是一种反模式。

关于Java 流 : combine elements in a map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43669186/

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