我刚接触Java8。 我读过关于流的内容,但大多数例子都很基础。我想知道如何在嵌套对象中使用它。这是我的代码示例:
for (Gas gas : gases) {
resourceNodes.add(gas.getRefinery().unit());
}
似乎我应该使用流一行代码完成这个问题,但我还无法完全找到解决方案。 能否提供使用流的答案?是否有一种方法可以在嵌套方法中使用::语法呢?
编辑: 为了澄清例子,getRefinery()返回类型为UnitInPool的对象,其方法unit()返回类型为Unit的对象。resourceNodes是Unit的ArrayList。
map
只有在resourceNodes::add
不是一个返回void
的方法时才能正常工作。这是一个合理的假设,因为它 可能 是一个java.util.List
,但仍然存在不返回void
的方法,将映射用作仅向外部集合添加元素的手段会让人感到不自然。 - pafau k.forEach
,那么它将复制Andy Turner最初发布的答案。不过我会进行更改。 - user