用stream求和集合中的某一个属性
时间: 2024-04-09 15:34:14 浏览: 82
你可以使用Java 8中的Stream API来对集合中的某个属性进行求和操作。假设你有一个包含对象的集合,每个对象都有一个属性可以用于求和,你可以按照以下步骤进行操作:
1. 首先,确保你的对象类具有相应的属性。假设属性名为"property"。
2. 将集合转换为Stream对象,使用`stream()`方法。
3. 使用`mapToXxx()`方法(其中`Xxx`是属性类型)将对象的属性映射为新的Stream。
4. 调用`sum()`方法对新的Stream进行求和操作。
以下是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
class MyClass {
private int property;
public MyClass(int property) {
this.property = property;
}
public int getProperty() {
return property;
}
}
public class Main {
public static void main(String[] args) {
List<MyClass> list = new ArrayList<>();
list.add(new MyClass(1));
list.add(new MyClass(2));
list.add(new MyClass(3));
int sum = list.stream()
.mapToInt(MyClass::getProperty)
.sum();
System.out.println("Sum: " + sum);
}
}
```
在上面的示例中,我们创建了一个包含`MyClass`对象的集合,并将每个对象的`property`属性映射为新的IntStream。然后,我们使用`sum()`方法对IntStream进行求和操作。最后,将求和结果打印出来。
希望这能帮助到你!如果有任何进一步的问题,请随时问我。
阅读全文