作者:强压谷攻 | 来源:互联网 | 2022-12-06 12:13
1> YCF_L..:
你需要这样的东西:
Map nameToMean = nameToQuaters.entrySet()
.stream()
.collect(Collectors.toMap(
// the key is the same
Map.Entry::getKey,
// for the value of the key, you can calculate the average like so
e -> e.getValue().stream().mapToDouble(Double::doubleValue).average().getAsDouble())
);
}
或者你可以创建一个方法来制作平均值并将其返回,例如:
public Double average(List values) {
return values.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
}
那你的代码可以是:
Map nameToMean = nameToQuaters.entrySet()
.stream()
.collect(Collectors.toMap(Map.Entry::getKey, e -> average(e.getValue())) );