我有一个名为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)
我想通过创建“目标成本”和“实际成本”的总和并对“行”进行分组来转换这些值。
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));
我该怎么做?
Collectors
的这些方法。那应该是被接受的答案。 - Dici