Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法在Stream()中使用Stream()?_Java_Java Stream - Fatal编程技术网

Java 有没有办法在Stream()中使用Stream()?

Java 有没有办法在Stream()中使用Stream()?,java,java-stream,Java,Java Stream,我有下面的对象,我想使用Stream()来获取第一个输入参数,其中名称等于“target” 可能吗?或者我只能流式传输inputParam "flow": [ { "step": [ { "inputParam": [ {

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

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

在流中使用
flatMap

可选选项InputParam=flowCollection.stream()
.flatMap(flow->flow.getSteps().stream())
.flatMap(步骤->步骤.getInputParams().stream())
.filter(inputParam->inputParam.getName().equals(“目标”))
.findFirst();

这是假设您在
Flow
对象中有
steps
,在
Step
对象中有
inputParams
,并且在这些属性上定义了getter。

您尝试过吗?如果流迭代的元素是排序的集合,为什么不能使用流呢?谢谢!这就是解决办法。这条小溪对我来说是新的,所以我还在学习。
 Optional<InputParam> optionalInputParam = flowCollection.stream()
                .flatMap(flow -> flow.getSteps().stream())
                .flatMap(step -> step.getInputParams().stream())
                .filter(inputParam -> inputParam.getName().equals("target"))
                .findFirst();