Ale*_*191 13 java grouping java-8 java-stream collectors
我目前正在创建一个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())
)
));
Run Code Online (Sandbox Code Playgroud)
我怎么能创建一个Map<String, Map<LocalDate, Duration>>?
要将其Integer从Collectors.summingInta 更改为a Duration,您只需将其替换Collector为:
Collectors.collectingAndThen(
Collectors.summingInt(t -> t.getDuration().toSecondOfDay()),
Duration::ofSeconds
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
240 次 |
| 最近记录: |