【发布时间】:2019-01-08 10:58:44
【问题描述】:
我有一个MetricGroup 流,其中:
public class MetricGroup {
private String application;
private int uploadedDocs;
private long uploadedKbs;
// getters and setters
}
我需要汇总所有应用程序指标。我的意思是,对于每个应用程序 (MetricGroup.application),我需要将所有 metric.uploadedDocs 添加到 sumMetric.uploadedDocs 和 metric.uploadedKds 到 sumMetric.uploadedKbs。
我发现我需要某种groupingBy
Stream.of(
new MetricGroup("app1", 1,100),
new MetricGroup("app1", 1,300),
new MetricGroup("app2", 1,200)
)
.collect(Collector.groupingBy(MetricGroup::getApplication, accumulator??, combiner??)
结果将是一个流:
< MetricGroup("app1", 2, 400) , MetricGroup("app2", 1, 200) >
有什么想法吗?
【问题讨论】:
-
您在similar question asked 30 mins ago 上得到的答案有什么问题?
-
我需要按应用程序分组,在另一篇文章中我只需要总结所有对象。现在我需要按应用进行总结。
标签: java java-8 java-stream grouping