У меня есть класс Foo
с этими полями:
id:int/name;String/targetCost:BigDecimal/actualCost:BigDecimal
Я получаю массив объектов этого класса. например.:
new Foo(1, "P1", 300, 400),
new Foo(2, "P2", 600, 400),
new Foo(3, "P3", 30, 20),
new Foo(3, "P3", 70, 20),
new Foo(1, "P1", 360, 40),
new Foo(4, "P4", 320, 200),
new Foo(4, "P4", 500, 900)
Я хочу преобразовать эти значения, создав сумму «targetCost» и «actualCost» и сгруппировав «строку», например.
new Foo(1, "P1", 660, 440),
new Foo(2, "P2", 600, 400),
new Foo(3, "P3", 100, 40),
new Foo(4, "P4", 820, 1100)
Что я написал на данный момент:
data.stream()
.???
.collect(Collectors.groupingBy(PlannedProjectPOJO::getId));
Как я могу это сделать?