java 通过map根据list某个字段进行合并


 

 

List<WarehouseStockItemBean> warehouseStockItemBeanLists = new ArrayList<>();
List<WarehouseStockItemBean> warehouseStockItemBeans = new ArrayList<>();
Map<Long, WarehouseStockItemBean> map = new HashMap<>();
        for (WarehouseStockItemBean warehouseStockItemBean : warehouseStockItemBeanLists) {
            Long id = warehouseStockItemBean.getCommodityId();//获取commodity_id根据commodity_id进行合并
            if (map.containsKey(id)) {//查看map里是否包含这个commodity_id
                WarehouseStockItemBean warehouseStockItem = map.get(id);拿到map里包含符合条件的数据
                warehouseStockItem.setQuantity(warehouseStockItem.getQuantity().add(warehouseStockItemBean.getQuantity()));//将quantity进行相加
                map.put(id, warehouseStockItem);
            } else {
                map.put(id, warehouseStockItemBean);
            }
        }
        for (Long temp : map.keySet()) {
            warehouseStockItemBeans.add(map.get(temp));
        }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM