使用stream流按时间段进行分组


public Map blogClassify(Integer pageNo, Integer pageSize) {
        // 1.创建分页page对象
        Page blogPage = new Page<>(pageNo, pageSize);
        // 2.创建wrapper,并组装条件
        LambdaQueryWrapper wrapper = new QueryWrapper().lambda();
        wrapper.eq(Blog::getStatus, 1)
                .eq(Blog::getIsDelete, 0);
        // 3.分页查询
        Page page = baseMapper.selectPage(blogPage, wrapper);
        List records = page.getRecords();
        // 4.通过stream流根据时间段进行分组
        **Map> collect = records.stream().collect(Collectors.groupingBy(item -> new SimpleDateFormat("yyyy-MM-dd").format(new Date(item.getCreateTime().toString()))));**
        // 5.遍历分组后的数据
        Iterator>> iterator = collect.entrySet().iterator();
        // 6.创建博客分类对象的集合
        Map map = new HashMap<>();
        ArrayList blogInfos = new ArrayList<>();
        // 7.遍历
        while (iterator.hasNext()) {
            Map.Entry> entry = iterator.next();
            String year = entry.getKey();
            List blogList = entry.getValue();
            // 8.设置相关的值
            BlogInfo blogInfo = new BlogInfo(new ArrayList<>());
            blogInfo.setYear(year);
            blogInfo.setBlogList(blogList);
            // 9.博客分类对象添加至博客分类列表中
            blogInfos.add(blogInfo);
        }
        map.put("blogInfos",blogInfos);
        map.put("page", page);
        return map;
    }