Java8将List中对象的某个字段累加
时间: 2024-10-17 09:13:08 浏览: 16
如何实现java8 list按照元素的某个字段去重
5星 · 资源好评率100%
在Java 8中,如果你有一个List集合,其中包含一些实现了某个公共接口或者拥有共同字段的对象,并你想对这些对象的某个字段进行累加,你可以使用Stream API来简化这个过程。首先,你需要确保所有的对象都实现了Comparable接口或者你能提供一个Comparator来比较它们的该字段。
这是一个简单的例子:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
class MyClass {
private int value;
// getters and setters...
}
public class Main {
public static void main(String[] args) {
List<MyClass> list = new ArrayList<>();
// 假设list已经被填充了MyClass实例
int sum = list.stream()
.mapToInt(obj -> obj.getValue()) // 使用mapToInt将每个对象的value字段转换为int流
.sum(); // 使用sum计算总和
System.out.println("Sum of 'value' field: " + sum);
}
}
```
在这个例子中,`obj -> obj.getValue()`是一个lambda表达式,它接收一个MyClass对象并返回其value字段的值。然后,`.sum()`方法会把这些值加起来得到累加结果。
阅读全文