Рубрики
Без рубрики

Java – Как суммировать все целые числа потока

– Java – Как суммировать все целые числа потока

Метод sum() доступен в примитивном потоке значений типа/| IntStream , а не Поток <Целое число> . Мы можем использовать mappoint() для преобразования целых чисел потока в IntStream .

int sum = integers.stream().mapToInt(Integer::intValue).sum();
int sum = integers.stream().mapToInt(x -> x).sum();

Полный пример.

package com.mkyong.concurrency;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

public class Java8Stream {

    public static void main(String[] args) {

        List integers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
        int sum = integers.stream().mapToInt(Integer::intValue).sum();
        System.out.println("Total : " + sum);

        Stream integers2 = Stream.iterate(1, n -> n + 1).limit(10);
        IntStream intStream = integers2.mapToInt(x -> x);
        int sum1 = intStream.sum();
        System.out.println("Total : " + sum1);

    }

}

Выход

Total : 55
Total : 55

Рекомендации

  1. Документ Oracle – IntStream.html

Оригинал: “https://mkyong.com/java8/java-how-to-sum-all-the-stream-integers/”