【发布时间】:2020-06-10 01:25:22
【问题描述】:
如何使用另一个列表的项目的结果创建一个新的 ArrayList? requestAllFieldsList 由 WsdlServiceDTOList 元素的内容填充。
List<WsdlServiceDTO> wsdlServiceDTOList;
List<ParameterDTO> requestAllFields = new ArrayList<>();
wsdlServiceDTOList.forEach(wsdlServiceDTO -> this.addRequestFieldsValues(requestAllFields, wsdlServiceDTO));
...
private void addRequestFieldsValues(List<ParameterDTO> requestAllFields, WsdlServiceDTO wsdlServiceDTO){
long methodId = getServiceOperationId(wsdlServiceDTO);
wsdlServiceDTO.setServiceOperationId(methodId);
List<ParameterDTO> requestFields = splitString2List(wsdlServiceDTO.getRequestFields(), methodId );
requestAllFields.addAll(requestFields);
}
有没有办法使用 stream().map() 将 WsdlServiceDTOList 的每个元素添加到 RequestAllFields 数组列表中?类似于以下代码:
List<ParameterDTO> requestAllFields = wsdlServiceDTOList.stream()
.map(wsdlServiceDTO -> this.addRequestFieldsValues(wsdlServiceDTO))
.collect(Collectors.toList());
private String addRequestFieldsValues(WsdlServiceDTO wsdlServiceDTO){
long methodId = getServiceOperationId(wsdlServiceDTO);
wsdlServiceDTO.setServiceOperationId(methodId);
List<ParameterDTO> requestFields = splitString2List(wsdlServiceDTO.getRequestFields(), methodId );
return requestFields ;
}
我希望你们中的一些人在这种情况下有一个 lambda 解决方案 在此输入代码
【问题讨论】:
标签: lambda functional-programming