РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
501 of 1163 menu

Метод sum

Метод sum класса IntStream возвращает сумму всех элементов потока. Метод не принимает параметров и возвращает примитивное значение типа int. Если поток пуст, метод возвращает 0.

Метод является терминальной операцией, то есть после его вызова поток считается использованным и не может быть обработан повторно.

Синтаксис

int sum = intStream.sum();

Пример

Давайте найдем сумму чисел в потоке, созданном из списка целых чисел:

import java.util.List; import java.util.stream.IntStream; public class Main { public static void main(String[] args) { List<Integer> list = List.of(1, 2, 3, 4, 5); int res = list.stream() .mapToInt(Integer::intValue) .sum(); System.out.println(res); } }

Результат выполнения кода:

15

Пример

Давайте найдем сумму чисел в диапазоне, созданном с помощью метода rangeClosed:

import java.util.stream.IntStream; public class Main { public static void main(String[] args) { int res = IntStream.rangeClosed(1, 10).sum(); System.out.println(res); } }

Результат выполнения кода:

55

Пример

Давайте найдем сумму только четных чисел, используя промежуточную операцию filter:

import java.util.stream.IntStream; public class Main { public static void main(String[] args) { int res = IntStream.rangeClosed(1, 10) .filter(n -> n % 2 == 0) .sum(); System.out.println(res); } }

Результат выполнения кода:

30

Пример

Давайте проверим, что метод возвращает 0 для пустого потока:

import java.util.stream.IntStream; public class Main { public static void main(String[] args) { int res = IntStream.empty().sum(); System.out.println(res); } }

Результат выполнения кода:

0

Смотрите также

  • класс IntStream,
    который представляет поток примитивных int
  • метод average,
    который возвращает среднее значение элементов
  • метод rangeClosed,
    который создает поток чисел в заданном диапазоне
  • метод map,
    который преобразует элементы потока
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить