List 集合中取出对象中相同属性的对象存放到新的list集合中,返回map结构

部分代码:

// 分页
PageHelper.startPage(tracePageDTO.getPageNum(),tracePageDTO.getPageSize());
List<TraceGoodsVO> traceGoodsVOS = traceMapper.getTraceGoodsList(tracePageDTO);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Map<String,List<TraceGoodsVO>> map = new HashMap<>();
for (TraceGoodsVO traceGoodsVO :traceGoodsVOS){
    // 将日期转换为年月日格式
    String time = sdf.format(DateUtil.convert2Date(traceGoodsVO.getCreateTime(),"yyyy-MM-dd"));
    // 判断当前值是否已经存在map中
    if(map.containsKey(time)){
        List<TraceGoodsVO> goodsVOS = map.get(time);
        // 对象拷贝
        TraceGoodsVO goodsVO = new TraceGoodsVO();
        BeanUtils.copyProperties(traceGoodsVO,goodsVO);
        goodsVOS.add(goodsVO);
        map.put(time,goodsVOS);
    }else {
        List<TraceGoodsVO> newGoodsVOS = new ArrayList<TraceGoodsVO>();
        TraceGoodsVO goodsVOTarget = new TraceGoodsVO();
        BeanUtil.copyProperties(traceGoodsVO,goodsVOTarget);
       newGoodsVOS.add(goodsVOTarget);
        map.put(time,newGoodsVOS);
    }
}
//取出所有的重复的数据值,存入到maps中
List<Map<String,List<TraceGoodsVO>>> maps = new ArrayList<>();
for (Map.Entry<String, List<TraceGoodsVO>> entry : map.entrySet()) {
    Map<String,List<TraceGoodsVO>> map1 = new HashMap<>();
    map1.put(entry.getKey(),entry.getValue());
    maps.add(map1);
}
PageInfo<Map<String,List<TraceGoodsVO>>> info = new PageInfo<Map<String,List<TraceGoodsVO>>>(maps);
return PageUtils.getPageResult(info);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值