有没有一种方法可以在stream()中使用stream()?

8ulbf1ek  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(316)

我有下面的对象,我想使用stream()来获取第一个输入参数,其中的名称等于“target”,有可能吗?或者我只能流式传输inputparam?

"flow": [
        {
            "step": [
                {
                    "inputParam": [
                        {
                            "name": "inputname",
                            "value": "value"
                        }
                    ]
                }
            ]
        }
    ]
}```
1dkrff03

1dkrff031#

使用 flatMap 在溪流中。
更多关于Map和平面Map

Optional<InputParam> optionalInputParam = flowCollection.stream()
                .flatMap(flow -> flow.getSteps().stream())
                .flatMap(step -> step.getInputParams().stream())
                .filter(inputParam -> inputParam.getName().equals("target"))
                .findFirst();

这是假设你有 stepsFlow 对象和 inputParamsStep 对象,并在这些属性上定义了getter。

相关问题