java list 按照某属性相加
时间: 2024-09-10 13:26:57 浏览: 40
java8从list集合中取出某一属性的值的集合案例
5星 · 资源好评率100%
在Java中,如果你有一个List集合,其中每个元素都有某个属性可以累加,你可以通过遍历List并使用Lambda表达式或者Java 8引入的Stream API来实现这个功能。假设我们有一个Person类,有一个age属性:
```java
import java.util.ArrayList;
import java.util.List;
class Person {
private int age;
// 其他属性和构造方法...
}
public class Main {
public static void main(String[] args) {
List<Person> people = new ArrayList<>();
// 添加一些Person对象...
// 使用for-each循环和累加
int sum = people.stream()
.mapToInt(Person::getAge) // 将Person对象转换为Int流,再转换为Integer流
.sum(); // 对年龄求和
System.out.println("Sum of ages: " + sum);
// 或者使用Lambda表达式
int sumLambda = people.stream()
.mapToInt(p -> p.getAge())
.sum();
}
}
```
这里`people.stream().mapToInt(Person::getAge)`会将每个Person对象的age值转化为Int流,然后`sum()`方法计算总和。
阅读全文