【发布时间】:2018-08-27 14:24:52
【问题描述】:
我有以下课程:
class A{
String property1;
String property2;
Double property3;
Double property4;
}
所以property1和property2是关键。
class Key{
String property1;
String property2;
}
我已经有如下的 A 列表:
List<A> list=new ArrayList<>();
我想使用 key 进行分组并添加到 A 的另一个列表中,以避免列表中有多个具有相同 key 的项目:
Function<A, Key> keyFunction= r-> Key.valueOf(r.getProperty1(), r.getProperty2());
但是在进行分组时,我必须取 property3 的总和和 property4 的平均值。
我需要一种有效的方法来做到这一点。
注意:我已经跳过了给定类的方法。
【问题讨论】:
-
结果如何?
Map<Key, List<Double>>其中List<Double>将包含两个值 - property3 的总和和 property4 的平均值? -
顺便说一句,在 java-12 中添加
BiCollectorAndThen(我认为),这也适合这里 -
顺便说一句,你可以在这里接受答案
标签: java-8 java-stream