首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向列表/映射添加默认值

问向列表/映射添加默认值
EN

Stack Overflow用户
提问于 2020-03-30 14:26:00
回答 1查看 41关注 0票数 0

我有这样的代码,它得到了应用程序中每天的用户数量。

代码语言:javascript
复制
    List<UserApplication> usersOfCurrentMonth = userApplicationRepository.getUsersOfCurrentMonth();

    Map<Object, Long> dailyUserActivity = usersOfCurrentMonth.stream().collect(Collectors.groupingBy(a-> ((UserApplication)a).getCreationDate(), Collectors.counting()));

查询

代码语言:javascript
复制
@Query(value = "select * from user_application a where year(a.creationDate) = year(current_date) and  month(a.creationDate) = month(current_date)", nativeQuery = true)
List<UserApplication> getUsersOfCurrentMonth();

效果很好

代码语言:javascript
复制
2020-03-30T14:21:09.003+0000: 1

但是,我错过了这个月剩下的日子,。有没有办法把0加到这个月的所有其他日子?

例如:

代码语言:javascript
复制
 2020-03-01T14:21:09.003+0000: 0
 2020-03-02T14:21:09.003+0000: 0
 ....
 2020-03-30T14:21:09.003+0000: 1
EN

回答 1

Stack Overflow用户

发布于 2020-03-30 14:36:30

您可以确定当前月份的天数,然后对所有天数进行循环,使用computeIfAbsent将结果设置为零。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60932709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档