java list对象中统计每个属性的值并且相加
时间: 2024-05-14 18:11:52 浏览: 105
假设我们有一个类Person,其中有三个属性:name、age、salary。
我们可以先创建一个List<Person>对象,并且将多个Person对象添加到其中。
然后,我们可以使用Java 8的Stream API来对List中的Person对象进行统计。
例如,我们可以使用以下代码来统计所有Person对象的年龄总和:
```
int totalAge = personList.stream()
.mapToInt(Person::getAge)
.sum();
```
在上面的代码中,我们首先将List转换成Stream对象,然后使用mapToInt方法将每个Person对象的年龄属性映射为一个整数流,最后使用sum方法将这些整数相加得到总年龄。
同样地,我们也可以使用其他的Stream API方法来统计其他属性的值,例如:
```
int totalSalary = personList.stream()
.mapToInt(Person::getSalary)
.sum();
```
以上代码统计了所有Person对象的薪水总和。
需要注意的是,如果某个属性是一个对象类型(例如Person对象中的name属性),我们需要使用其他方法来统计。例如,我们可以使用以下代码来统计所有Person对象的姓名列表:
```
List<String> nameList = personList.stream()
.map(Person::getName)
.collect(Collectors.toList());
```
在上面的代码中,我们将每个Person对象的姓名属性映射为一个字符串流,并且使用collect方法将这些字符串收集到一个List对象中。
阅读全文