Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

IntStream.sum()

Складывает все числа потока.

Доступно с: Java 8

Синтаксис

int sum()

Возвращаемое значение

intСумма элементов; `0` для пустого потока.

Примеры

Сумма чисел и сумма полей:

record Item(String name, int qty) {}
 
void main() {
    IO.println(IntStream.of(4, 8, 15).sum());
    var cart = List.of(new Item("tea", 2), new Item("milk", 3));
    IO.println(cart.stream().mapToInt(Item::qty).sum());
}

Результат:

27
5

Примечания

Метод есть только у числовых потоков (IntStream, LongStream, DoubleStream), поэтому из Stream<Integer> сначала переходят через mapToInt(). При переполнении int результат «перескакивает» в отрицательные значения без ошибки — для больших сумм используйте mapToLong().

См. также

  • IntStream.average() — Вычисляет среднее арифметическое чисел потока.
  • Stream.mapToInt() — Превращает поток объектов в поток чисел `int`.
  • Stream.reduce() — Сворачивает все элементы потока в одно значение.
  • Collectors.summingInt() — Сборщик, который суммирует числовое поле элементов.

Вопросы и ответы по теме

В учебнике

  • Операции над потоками — Основные операции Stream API — filter, map, sorted, distinct, limit, skip, count, reduce, anyMatch, findFirst и числовые потоки.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.