java 已知对象ListSplitProductionOrderItem splitIsBListOdsMaterialbomItem bomItems过滤掉SplitProductionOrderItem中的字段productId值与bomItems的OdsMaterialbomItem中字段BillOfMaterialComponent不相同的行留下相同的SplitProductionOrd
您可以使用Java 8的流操作来完成这个任务。首先,您需要使用filter方法对splitIsB进行过滤,然后使用anyMatch方法来检查是否存在一个与bomItems中的任何一个OdsMaterialbomItem匹配的productId值。
以下是示例代码:
List<SplitProductionOrderItem> filteredSplitIsB = splitIsB.stream()
.filter(splitItem -> bomItems.stream()
.anyMatch(bomItem -> bomItem.getBillOfMaterialComponent().equals(splitItem.getProductId())))
.collect(Collectors.toList());
这段代码使用了两个嵌套的流操作。外部流对splitIsB中的每个SplitProductionOrderItem进行过滤,内部流对bomItems中的每个OdsMaterialbomItem进行匹配。使用anyMatch方法来检查是否有任何一个OdsMaterialbomItem的BillOfMaterialComponent与SplitProductionOrderItem的productId相匹配。
最终,我们使用collect方法将过滤后的结果收集到一个新的列表中
原文地址: http://www.cveoy.top/t/topic/iTf1 著作权归作者所有。请勿转载和采集!