java 已知对象ListSplitProductionOrderItem splitIsBListOdsMaterialbomItem bomItems根据SplitProductionOrderItem中的字段productId值与bomItems的OdsMaterialbomItem中字段BillOfMaterialComponent相同的行生成新的ListSplitProductionOr
您可以使用流操作来实现这个需求。首先,您需要遍历原始的 splitIsB 列表,然后使用 filter 方法过滤出与 bomItems 中的 BillOfMaterialComponent 字段匹配的行,最后使用 collect 方法将过滤后的结果收集到一个新的列表中。
以下是示例代码:
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<SplitProductionOrderItem> splitIsB = ...; // 原始的 splitIsB 列表
List<OdsMaterialbomItem> bomItems = ...; // bomItems 列表
List<SplitProductionOrderItem> splitIs = splitIsB.stream()
.filter(splitItem -> bomItems.stream()
.anyMatch(bomItem -> bomItem.getBillOfMaterialComponent().equals(splitItem.getProductId())))
.collect(Collectors.toList());
}
}
在上述代码中,我们使用了两个嵌套的流操作。首先,我们遍历 splitIsB 列表,并使用 filter 方法来过滤出与 bomItems 中的某个元素匹配的行。在 filter 方法中,我们使用 anyMatch 方法来检查 bomItems 中是否存在与当前 splitIsB 元素的 productId 字段匹配的元素。如果存在匹配的元素,则表示当前 splitIsB 元素应该包含在最终的结果列表中。
最后,我们使用 collect 方法将过滤后的结果收集到一个新的列表 splitIs 中。请注意,您需要将 ... 替换为实际的 splitIsB 和 bomItems 对象
原文地址: http://www.cveoy.top/t/topic/iTf9 著作权归作者所有。请勿转载和采集!