想使用 java8 的 stream,将数据按照时间段进行分组,数据请看图片

2019 年 2 月 19 日
 Rookbyte

https://i.loli.net/2019/02/19/5c6c005354ef4.jpg

业务是如果查询最近七天的注册用户,我要将数据安装最近的七个自然日分组,我只会写这样的 list.stream().collect(Collectors.groupingBy(Apple::getId)),还请各位大佬帮忙看下如何处理

4605 次点击
所在节点    Java
5 条回复
TigerWoods
2019 年 2 月 19 日
grohoBy 的参数是一个 Function,你自己写一个 lambda 实现,入参 apple 出参为年月日的字符串。
vHypnos
2019 年 2 月 20 日
先不关注技术问题,你把真实电话号码贴在这里真的好吗。
vHypnos
2019 年 2 月 20 日
Map<LocalDate, List<Item>> result = list.stream().collect(Collectors.groupingBy(item -> item.getCreateTime().with(TemporalAdjusters.previousOrSame(DayOfWeek.of(1)))));
Rookbyte
2019 年 2 月 20 日
@vHypnos 哈哈,测试数据,没事的。下次会注意的
tamer
2019 年 2 月 20 日
```
Map<DayOfWeek, List<LocalDate>> collect = lis.stream().collect(Collectors.groupingBy(item -> DayOfWeek.from(item.getCreateTime())));
```
参考#3 感恩 又学习到了新姿势 @vHypnos

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/536695

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX