由于我是初学者,所以我有一个相当简单的问题。
我正在使用 Java List 类,并且我有兴趣知道如何迭代它并以数字总和的形式获取所有对象属性?
例如,我有一个 Product 类,其价格属性类型为 int。我的 list 现在充满了几种产品。现在我想迭代该列表并获取所有产品价格的总和。
我该怎么做?谢谢。
最佳答案
使用 Java 流一行即可完成此操作:
public int calculateSum(List<Product> products) {
return products.stream().mapToInt(Product::getPrice).sum()
}
解释:
.mapToInt(Product::getPrice)
相当于 mapToInt(p -> p.getPrice())
。基本上,我们从产品列表中检索它们的价格,并最终得到一串数字(价格)。
.sum()
将仅计算流内整数的总和,在本例中是价格列表。
如果您想在没有流的情况下执行此操作,请使用以下代码:
public int calculateSum(List<Product> products) {
int sum = 0;
for (Product product : products) {
sum += product.getPrice();
}
return sum;
}
<小时/>
我假设 Product
类如下所示:
public class Product {
private int price;
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
关于java - 访问存储在 Java 列表中的对象属性并进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60564193/