Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.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流,基于对象中的条件进行过滤,将值设置为字符串和数组_Java_Filter_Java Stream_Mapping - Fatal编程技术网

Java流,基于对象中的条件进行过滤,将值设置为字符串和数组

Java流,基于对象中的条件进行过滤,将值设置为字符串和数组,java,filter,java-stream,mapping,Java,Filter,Java Stream,Mapping,我不熟悉java流。尝试根据Java streams中的条件设置2个值。我试着用平面地图。可能是做错了什么 我想转换为streams的工作代码是: String NUME_AGENT = ""; for(int i = 0; i < reportInputOptionsExtsElemAgent.length; i++) { if(reportInputOptionsExtsElemAgent[i].getKey().equalsIgnoreCase(loadAGENT_ID)){

我不熟悉java流。尝试根据Java streams中的条件设置2个值。我试着用平面地图。可能是做错了什么

我想转换为streams的工作代码是:

String NUME_AGENT = "";
for(int i = 0; i < reportInputOptionsExtsElemAgent.length; i++) {
    if(reportInputOptionsExtsElemAgent[i].getKey().equalsIgnoreCase(loadAGENT_ID)){
        NUME_AGENT = reportInputOptionsExtsElemAgent[i].getValue();
        reportInputOptionsExtsElemAgent = 
            new ReportInputOptionsExt[] {
                new ReportInputOptionsExt(loadAGENT_ID,
                    reportInputOptionsExtsElemAgent[i].getValue())
            };
    }
}
您不需要平面图:

您不需要平面图:


可以在map方法内创建对象:


可以在map方法内创建对象:

String NUME_AGENT =
        Arrays.stream(reportInputOptionsExtsElemAgent) // not sure about this
            .flatMap(agent -> agent.stream) // not sure about this
            .filter(rgp-> rgp.getKey().equalsIgnoreCase(loadAGENT_ID))
            .findFirst()
            .map(rgp->rgp.getValue())
            .orElse("");
 String NUME_AGENT  = Arrays.stream(reportInputOptionsExtsElemAgent)
              //.flatMap(agent -> agent.stream) <---------- you don't need this
              .filter(rgp-> rgp.getKey().equalsIgnoreCase(loadAGENT_ID))
              .findFirst()
              .map(rgp->rgp.getValue())
              .orElse("");
reportInputOptionsExtsElemAgent = new ReportInputOptionsExt[]{new ReportInputOptionsExt(loadAGENT_ID, NUME_AGENT  )};
ReportInputOptionsExt ext  = Arrays.stream(reportInputOptionsExtsElemAgent)
                                        .filter(rgp-> rgp.getKey().equalsIgnoreCase(loadAGENT_ID))
                                        .findFirst()
                                        .map(rgp->new ReportInputOptionsExt(loadAGENT_ID, rgp.getValue()))
                                        .orElse(null);