java中使用stream求和对象的属性值
时间: 2023-09-02 18:15:43 浏览: 89
可以使用Java 8中引入的Stream API来对对象的属性值进行求和操作。假设有一个对象列表,每个对象都有一个整数类型的属性值,可以使用以下代码来求和:
```java
List<MyObject> list = ... // 初始化对象列表
int sum = list.stream().mapToInt(MyObject::getProperty).sum();
```
其中,`MyObject`是对象的类名,`getProperty()`是对象的获取属性值的方法。`mapToInt()`方法将对象流转换为整数流,然后调用`sum()`方法求和。
相关问题
Java 对List中的对象属性求和
假设有一个List\<Person>的对象列表,每个Person对象都有一个age属性,你可以使用Java 8的Stream API对age属性进行求和:
```java
List<Person> personList = new ArrayList<>();
// add some Person objects to the list
int sum = personList.stream()
.mapToInt(Person::getAge) // 将每个Person对象的age属性映射为一个int值
.sum(); // 对所有int值进行求和
System.out.println("Sum of ages: " + sum);
```
如果你没有使用Java 8,可以使用一个for循环来实现相同的功能:
```java
List<Person> personList = new ArrayList<>();
// add some Person objects to the list
int sum = 0;
for (Person person : personList) {
sum += person.getAge();
}
System.out.println("Sum of ages: " + sum);
```
list.stream对象属性求和
假设你有一个包含对象的列表,每个对象都有一个属性值,你想要通过 Java 8 中的 Stream API 求出这些属性值的总和,可以按照以下方式操作:
假设你有一个名为 `MyObj` 的类,其中包含一个名为 `value` 的属性,它代表对象的属性值。那么你可以这样写:
```
List<MyObj> myObjs = ... ; //初始化你的列表
int sum = myObjs.stream().mapToInt(MyObj::getValue).sum();
```
这里使用了 `mapToInt()` 方法将 `MyObj` 对象转换为其对应的 `value` 属性值,并将其求和。如果你的属性值不是整数类型,可以使用 `mapToDouble()` 或 `mapToLong()` 方法,具体取决于属性值的类型。
阅读全文