java - 访问存储在 Java 列表中的对象属性并进行迭代

标签 java loops

由于我是初学者,所以我有一个相当简单的问题。

我正在使用 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/

相关文章:

java - 如何解决第 1 行第 "Incorrect integer value: ' 列的错误 'type_id' null'?

java - Mockito 可以捕获多次调用的方法的参数吗?

java - lwjgl 3 glDrawElement EXCEPTION_ACCESS_VIOLATION

java - 理解Java中null和 '\u000'的区别

MySQL神秘错误

Java - 如何提高空间效率?

java - IDE 没有正确的类路径

php - 如何循环访问关联数组值并将数据放入函数中

c++ - 窗体上对象的迭代

Excel VBA - 跳过子或结束子 IF 语句