Java 若list<person>,person有age属性,计算所有人年龄的和,使用lamda
时间: 2024-12-11 21:41:48 浏览: 7
在Java中,如果你想使用Lambda表达式来计算Person列表中所有人的年龄之和,可以这样做:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
class Person {
private int age;
// getters and setters...
}
public class Main {
public static void main(String[] args) {
List<Person> people = Arrays.asList(
new Person{age = 20},
new Person{age = 30},
new Person{age = 40}
);
int sum = people.stream()
.mapToInt(Person::getAge) // 使用lambda提取年龄
.sum();
System.out.println("Sum of ages: " + sum);
}
}
```
在这个示例中,`people.stream()`创建了一个流(Stream),`mapToInt(Person::getAge)`将Person对象映射到它们的age属性,然后`.sum()`计算所有年龄的总和。`Person::getAge`是一个方法引用,它代表从Person对象获取age属性。
阅读全文