【发布时间】:2020-07-02 06:56:53
【问题描述】:
我试图了解 Java 流。
Atm 我有这个不起作用的构造:
List<int[]> whiteLists = processes.stream()
.map(Process::getEventList)
.forEach(eventList -> eventList.stream()
.map(event -> event.getPropertie("whitelist"))
.map(propertie -> propertie.getIntArray())
.collect(Collectors.toList()));
}
层次结构是:
- 进程
- 事件
- 财产
- 事件
Process::getEventList 返回Event 对象列表
event.getPropertie("whitelist") 返回一个具有getIntArray() 方法的Property 对象
event.getPropertie() 给了我一个 int 数组。
如何将这些数组收集到数组列表中?
谢谢!
【问题讨论】:
-
这个不清楚是什么问题?什么返回
event.getPropertie("whitelist")和什么返回propertie.getIntArray()? -
你的问题不清楚。请给我们一个最小且可重现的例子。这也可能有帮助:stackoverflow.com/help/minimal-reproducible-example
-
Kayaman 给出了正确答案。不使用 FlatMap 是个问题。
标签: java java-8 functional-programming java-stream