【发布时间】:2015-06-11 11:35:48
【问题描述】:
我用lookupFunction(返回Function)映射NameValuePairs 流,如下所示:
List<NameValuePair> paramPairs = getParamPairs();
List<NameValuePair> newParamPairs = paramPairs.stream()
.map((NameValuePair nvp) -> lookupFunction(nvp.getName()).apply(nvp))
.flatMap(Collection::stream)
.collect(toList());
但是如果 lookupFunction 返回一个 Collection<Function> 而我想对每个返回的 Functions 执行一个 .map() 怎么办。我该怎么做?
【问题讨论】:
-
注意:你当前的代码可以写成:
stream.map(NameValuePair::getName).map(this::lookupFunction)...
标签: java lambda functional-programming java-8 java-stream