java stream map 作为参数
public <P, T> List<String> deleteBatch(List<P> params, Function<P, String> paramsComparator, Function<T, String> comparator, List<T> oldLevelList) { List<String> deleteList = new ArrayList<>(); if (Func.isEmpty(oldLevelList)) { return deleteList; } deleteList = mapFunction(oldLevelList, comparator); List<String> newTagIdList = params.stream().map(paramsComparator).filter(e -> Func.isNotEmpty(e)).collect(Collectors.toList()); deleteList.removeAll(newTagIdList); if (Func.isNotEmpty(deleteList)) { this.getBaseMapper().deleteBatchIds(deleteList); } return deleteList; } public <T> List<String> mapFunction(List<T> tList, Function<T, String> comparator) { return tList.stream().map(comparator).collect(Collectors.toList()); } @Override public Boolean updateBatch(List<EvalConfigLevelApiParam> params, String configId) { if (Func.isEmpty(params)) { return deleteByConfigId(configId); } List<EvalConfigLevel> oldLevelList = this.findLevelsByConfigId(configId); List<String> deleteList = deleteBatch(params, EvalConfigLevelApiParam::getConfigId, EvalConfigLevel::getId, oldLevelList); List<EvalConfigLevel> tags = convertToEvalConfigTagList(params, configId, deleteList); return this.saveOrUpdateBatch(tags); }
private void setOrderId(List<OrderBlacklistVo> Blacklist, Set<String> set, Function<OrderBlacklistVo,String> function) { if (Func.isEmpty(Blacklist)) { return; } Set<String> partnerOrderIdSet = Blacklist.stream().map(function).collect(Collectors.toSet()); if (Func.isNotEmpty(partnerOrderIdSet)) { set.addAll(partnerOrderIdSet); } } setOrderId(partnerBlacklist, orderIdSet,OrderBlacklistVo::getOrderId);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2019-06-13 mysql update select 从查询结果中更新数据