gpt4 book ai didi

java - 使用 Collectors.summingInt 时如何获取自定义类型而不是 Integer?

转载 作者:搜寻专家 更新时间:2023-10-30 20:00:32 25 4
gpt4 key购买 nike

我目前正在创建一个 Map<String, Map<LocalDate, Integer>>像这样,其中 Integer代表秒:

Map<String, Map<LocalDate, Integer>> map = stream.collect(Collectors.groupingBy(
x -> x.getProject(),
Collectors.groupingBy(
x -> x.getDate(),
Collectors.summingInt(t -> t.getDuration().toSecondOfDay())
)
));

我怎样才能创建一个 Map<String, Map<LocalDate, Duration>>

最佳答案

要将 IntegerCollectors.summingInt 更改为 Duration,您只需替换 Collector与:

Collectors.collectingAndThen(
Collectors.summingInt(t -> t.getDuration().toSecondOfDay()),
Duration::ofSeconds
)

关于java - 使用 Collectors.summingInt 时如何获取自定义类型而不是 Integer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44285623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com