使用Lamdba 表达式 从A集合中去除不存在于B集合的元素加入到C集合中(快速找出两个集合中不同的元素)

业务场景介绍

前台通过导入excell批量对商品的等级进行调整(良品,残品)。

A列表,成功列表(初始化要导入的数据均为默认成功)
B列表,通过A列表中的sku批量查询库存的查询结果列表
C列表,失败列表,不满足条件的元素会被加入到此列表中(C列表的数据来源于A列表)

  1. 后端需要通过使用前端导入的excel的其他商品信息查询此sku(批量查询—>B列表) ,如果后端无此sku,则将此excel中的行记录加入到失败列表(C列表)中,从成功列表(A列表)中移除,加入到失败列表,并注明失败原因为 “库中不存在此记录”。

  2. 如果库中存在此记录,要校验当前sku的可用库存是否大于 变更数量, 如果可用库存小于变更数量,即库中可供调整sku数量不足,从成功列表中移除, 加入到失败列表中,并注明失败原因为 “变更数量大于可用库存!”。

方案一:

遍历两个list

此方案是最常规的,也是最简单的,也是最复杂的(时间复杂度m*n),此不列举。

方案二:

        public static void main(String[] args) {
        List<ImportDtoForBatchChange> successfulBatchChangeList = Lists.newArrayList();
        ImportDtoForBatchChange importDtoForBatchChange1 = new ImportDtoForBatchChange();
        importDtoForBatchChange1.setSrcSkuNo("001");
        importDtoForBatchChange1.setChangeNo(11);
        successfulBatchChangeList.add(importDtoForBatchChange1);

        ImportDtoForBatchChange importDtoForBatchChange12 = new ImportDtoForBatchChange();
        importDtoForBatchChange12.setSrcSkuNo("002");
        impor
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值