java 已知对象ListSplitProductionOrderItem splitIsNotBMapString BigDecimal releaseTotal当SplitProductionOrderItem的字段productId值与releaseTotal的key值相同的时候将releaseTotal的key和value生成一个新的ListOdsMaterialDocumentItem
可以使用Java的Stream API来实现这个逻辑。首先,遍历splitIsNotB列表中的每个SplitProductionOrderItem对象,然后判断其productId字段是否存在于releaseTotal的key集合中。如果存在,就根据该key创建一个新的OdsMaterialDocumentItem对象,并将对应的value值设置为quantityInEntryUnit字段的值。
下面是示例代码:
List<OdsMaterialDocumentItem> result = splitIsNotB.stream()
.filter(item -> releaseTotal.containsKey(item.getProductId()))
.map(item -> {
String material = item.getProductId();
BigDecimal quantityInEntryUnit = releaseTotal.get(material);
return new OdsMaterialDocumentItem(material, quantityInEntryUnit);
})
.collect(Collectors.toList());
其中,OdsMaterialDocumentItem类是根据需求自定义的类,用于存储生成的结果。它的构造方法接收两个参数,分别是material和quantityInEntryUnit。
请根据实际情况调整代码中的类名和字段名
原文地址: https://www.cveoy.top/t/topic/iS9d 著作权归作者所有。请勿转载和采集!