作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个结构,例如 Map <String,List<Map<String,Object>>
.我想按如下方式将函数应用于 map 。该方法采用 key 并使用 map <String,Object>
的名单。每个key有几个Map <String,Object>
在列表中。我如何为 Map <String,Object>
的每个值将 process 方法应用于 map 的键?我能够使用 forEach 循环(见下文),但我觉得这不是以功能方式解决问题的最佳方法。
TypeProcessor p=new TypeProcessor.instance();
//Apply this function to the key and each map from the list
// The collect the Result returned in a list.
Result process(String key, Map<String,Object> dataPoints);
List<Result> list = new ArrayList<>();
map.forEach(key,value) -> {
value.forEach(innerVal -> {
Result r=p.process(key,innerVal);
list.add(r):
});
});
最佳答案
从您的代码看来,您希望对整个 Map
应用 process
,因此您可以这样做:
List<Result> l = map.entrySet()
.stream()
.flatMap(e -> e.getValue().stream().map(value -> process(e.getKey(), value)))
.collect(Collectors.toList());
关于Java 8 - 用列表拼合 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47784501/
我尝试使用以下代码从 VBA 调用 Acrobat Javascript API 来展平文档中的所有注释: Sub flattenPDF() Dim AcroApp As Acrobat.AcroAp
是否可以使用 iText 7 来展平 XFA PDF?我只看到有关它的 Java 文档 ( http://developers.itextpdf.com/content/itext-7-example
我是一名优秀的程序员,十分优秀!