【发布时间】:2017-09-25 22:07:36
【问题描述】:
我有一个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 对象及其键。
有没有办法使用流编写等效代码?
【问题讨论】:
-
那些是番石榴类吗??
-
考虑无流替代方案:
dict.forEach( (k,v) -> { dict1.addAll(v); v.forEach( elem -> dict2.put(elem, k) ); });
标签: java java-8 java-stream multiset