【发布时间】:2021-05-18 20:24:01
【问题描述】:
我有一个 Map 类型的 products 变量,我需要计算产品的总价格。
这是 products 变量:
Map<String, List<Product>> products
产品的定义如下:
class Product{
string name;
double price;
}
这是我尝试过的:
int sum = products.values().stream()
.reduce(0, x -> x.stream().mapToDouble(y -> y.getPrice()).sum());
但是在上面的行中我得到了这个错误:
lambda 表达式中的错误返回类型:double 无法转换为 List
如何计算产品的总价?
【问题讨论】:
-
products.values()是一个集合- >`。
-
好吧,你可以只使用两个循环。我假设你不想这样做?
标签: java java-stream