分组对象并求和对象,就像在 SQL 中使用 Java lambdas 一样?
2022-08-31 17:25:44
我有一个包含这些字段的类:Foo
id:int / name;字符串 / 目标成本:大十进制 / 实际成本:大十进制
我得到了这个类对象的数组列表,例如:
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));
我该怎么做?