假设我们有两个List集合,分别为numbers1和numbers2,它们包含多个对象,每个对象都有一个整数字段。我们想要使用Java 8的Stream API将这两个List进行合并相加操作,得到它们所有对象的整数字段的总和。
以下是使用Stream API进行两个List流合并相加的示例代码:
```
class Number {
private int value;
public Number(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
List numbers1 = Arrays.asList(new Number(1), new Number(2), new Number(3));
List numbers2 = Arrays.asList(new Number(4), new Number(5), new Number(6));
int sum = Stream.concat(numbers1.stream(), numbers2.stream())
.mapToInt(Number::getValue)
.sum();
System.out.println("Sum: " + sum);
```
上述代码中,我们首先使用Stream.concat方法将两个List转换为一个Stream,然后使用mapToInt方法将每个对象转换为它的整数字段值,并返回一个IntStream。最后,我们使用IntStream的sum方法对所有整数进行累加操作。
执行上述代码后,将会输出结果"Sum: 21",表示两个List中所有对象的整数字段的总和为21。
需要注意的是,我们在mapToInt方法中使用了方法引用Number::getValue来获取每个对象的整数字段值。如果对象的字段不是整数类型,我们需要根据实际情况选择适当的方法来转换为整数类型。