我有一个对象:
LocalDate localDate;
int amount;
我有一个像这样的对象的列表:
{2018-01-01, 5}
{2018-01-01, 10}
{2018-01-02, 15}
现在我要达到的目标是我要分析同一天的金额。 预期结果将在不重复的情况下列出金额的总和
{2018-01-01, 15}
{2018-01-02, 15}
好像我缺少某种流方法来做到这一点...
答案 0 :(得分:6)
将Collectors.groupingBy
与下游收集器Collectors.summingInt
yourObjects.stream()
.collect(Collectors.groupingBy(
YourObject::getLocalDate,
Collectors.summingInt(YourObject::getAmount)
))