package stream;

import java.util.Arrays;
import java.util.List;
import java.util.Optional;

public class StreamExample06 {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);

        // 使用 reduce 求和
        Optional<Integer> sum = numbers.stream()
                .reduce(Integer::sum);
        sum.ifPresent(System.out::println); // 输出: 15

        // 使用带初始值的 reduce
        int sumWithIdentity = numbers.stream()
                .reduce(0, Integer::sum);
        System.out.println(sumWithIdentity); // 输出: 15
    }
}