package com.mayikt.stream;
import com.mayikt.entity.UserEntity;
import java.util.ArrayList;
import java.util.Optional;
import java.util.function.BinaryOperator;
import java.util.stream.Stream;
/**
* @ClassName Test11
* @Author 蚂蚁课堂余胜军 QQ644064779 www.mayikt.com
* @Version V1.0
**/
public class Test11 {
public static void main(String[] args) {
Stream integerStream = Stream.of(10, 50, 30, 10);
Optional reduce = integerStream.reduce(new BinaryOperator() {
@Override
public Integer apply(Integer a1, Integer a2) {
return a1 + a2;
}
});
// System.out.println(reduce.get());
ArrayList userEntities = new ArrayList<>();
userEntities.add(new UserEntity("mayikt", 20));
userEntities.add(new UserEntity("meite", 28));
userEntities.add(new UserEntity("zhangsan", 35));
userEntities.add(new UserEntity("liusi", 21));
userEntities.add(new UserEntity("wangmazi", 19));
userEntities.add(new UserEntity("xiaoke", 19));
userEntities.add(new UserEntity("xiaoan", 21));
Stream stream = userEntities.stream();
Optional sum = stream.reduce((user1, user2) -> {
UserEntity userEntity = new UserEntity("sum", user1.getAge() + user2.getAge());
return userEntity;
});
System.out.println(sum.get().getAge());
}
}