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

2019-02-19 21:15:29 +08:00
 Yohann97

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

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

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

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

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

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

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

© 2021 V2EX