已知对象ListSplitProductionOrderItem splitIsNotB MapString BigDecimal releaseTotal过滤掉releaseTotal的key值与splitIsNotB中的字段productId相同的数据并生成新的对象ListOdsMaterialDocumentItem resultList2请使用效率最快的方式
可以使用Java 8的流式操作和Lambda表达式来实现效率最快的方式。
List<OdsMaterialDocumentItem> resultList2 = splitIsNotB.stream()
.filter(item -> !releaseTotal.containsKey(item.getProductId()))
.map(item -> {
OdsMaterialDocumentItem newItem = new OdsMaterialDocumentItem();
// 设置新对象的属性
// newItem.setXXX(item.getXXX());
return newItem;
})
.collect(Collectors.toList());
上述代码使用stream()将splitIsNotB转换为流,然后使用filter()过滤掉releaseTotal中包含的key值与splitIsNotB中的productId相同的数据。接下来,使用map()将每个过滤后的SplitProductionOrderItem对象转换为新的OdsMaterialDocumentItem对象,并设置新对象的属性。最后,使用collect()方法将流转换为List集合。
请根据实际情况修改代码中的属性名和相应的设置方法
原文地址: https://www.cveoy.top/t/topic/iTiM 著作权归作者所有。请勿转载和采集!