返回

datetime-使用 Java Streams 和 groupingBy() 从每天计数中获取每月计数

发布时间:2022-06-03 03:30:14 353
# 移动端

我想用转换列表每天销售(不管怎样,都无所谓)纳入每月出售。

所以我有一个List<Map<String, Object>> perDay,其中包含以下每日值:

[{DATE=2022-01-01, COUNT=5}, {DATE=2022-01-02, COUNT=3}, {DATE=2022-02-29, COUNT=4}]

这些值应收集到每月值中,如下所示:

[{DATE=2022-01, COUNT=8}, {DATE=2022-02, COUNT=4}]

我想使用groupingBy()具有流的方法。

这是我的代码:

    List<Map<String, Object>> perDay = new ArrayList<>();
    Map<String, Object> jan1 = new HashMap<>();
    jan1.put("DATE", "2022-01-01"); jan1.put("COUNT", "5");
    Map<String, Object> jan2 = new HashMap<>();
    jan2.put("DATE", "2022-01-02"); jan2.put("COUNT", "3");
    Map<String, Object> feb1 = new HashMap<>();
    feb1.put("DATE", "2022-02-29"); feb1.put("COUNT", "4");

Map<String, Object> perMonth = perDay.stream()
        .collect(Collectors.groupingBy("???", 
                    Collectors.summingInt(f -> Integer.parseInt((String) f))));

我想,我已经很接近了,但我还不太清楚。

有什么想法吗?

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(2)
按点赞数排序
用户头像
下一篇
neo4j基于时间的关系 2022-06-03 01:46:33