转换Map< String,NavigableMap< Long,Collection< String>>>列出< String>使用Java8 [英] Convert Map<String, NavigableMap<Long, Collection<String>>> to List<String> using Java8
本文介绍了转换Map< String,NavigableMap< Long,Collection< String>>>列出< String>使用Java8的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将 Map< String,NavigableMap< Long,Collection< String>>>
转换为 List< String>
Java 8。
I am trying to convert Map<String, NavigableMap<Long, Collection<String>>>
into List<String>
Java 8.
我写了一些代码,但在中间位置被卡住了。
I wrote some code but got stuck some where in mid.
userTopics.values().stream().map(
new Function<NavigableMap<Long, Collection<String>>, Collection<String>>() {
@Override
public Collection<String> apply(NavigableMap<Long, Collection<String>> t) {
return null; //TODO
}
}
);
推荐答案
只需 flatMap
s ** t :
Just flatMap
that s**t:
List<String> values = nestedMap.entrySet()
.stream()
.map(Map.Entry::getValue)
.flatMap(m -> m.entrySet().stream())
.map(Map.Entry::getValue)
.flatMap(Collection::stream)
.collect(toList());
as Holger 指出,这是更整洁:
As Holger points out, this is neater:
List<String> values = nestedMap.values()
.stream()
.flatMap(m -> m.values().stream())
.flatMap(Collection::stream)
.collect(toList());
这篇关于转换Map< String,NavigableMap< Long,Collection< String>>>列出< String>使用Java8的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文