您可以使用流操作来实现这个需求。首先,您需要遍历原始的 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 中。请注意,您需要将 ... 替换为实际的 splitIsBbomItems 对象

java 已知对象ListSplitProductionOrderItem splitIsBListOdsMaterialbomItem bomItems根据SplitProductionOrderItem中的字段productId值与bomItems的OdsMaterialbomItem中字段BillOfMaterialComponent相同的行生成新的ListSplitProductionOr

原文地址: http://www.cveoy.top/t/topic/iTf9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录