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

Метод stream класса List

Метод stream класса List возвращает последовательный поток (Stream) элементов данного списка. Поток позволяет обрабатывать элементы коллекции в функциональном стиле: фильтровать, преобразовывать, сортировать и собирать результат. Метод не принимает параметров и не изменяет исходный список - он лишь создаёт поток, который ссылается на элементы списка.

Полученный поток можно использовать для дальнейших операций: filter, map, sorted, collect, forEach и других. Важно помнить, что поток можно потребить только один раз: повторное использование вызовет исключение.

Синтаксис

list.stream()

Пример

Давайте получим поток из списка и выведем каждый его элемент на экран:

import java.util.List; public class Main { public static void main(String[] args) { List<String> list = List.of("a", "b", "c", "d", "e"); list.stream().forEach(System.out::println); } }

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

"a" "b" "c" "d" "e"

Пример

Давайте отфильтруем список чисел, оставив только чётные, и соберём результат в новый список:

import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<Integer> list = List.of(1, 2, 3, 4, 5); List<Integer> res = list.stream() .filter(n -> n % 2 == 0) .collect(Collectors.toList()); System.out.println(res); } }

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

[2, 4]

Пример

Давайте преобразуем каждый элемент списка строк в верхний регистр:

import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<String> list = List.of("a", "b", "c", "d", "e"); List<String> res = list.stream() .map(String::toUpperCase) .collect(Collectors.toList()); System.out.println(res); } }

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

[A, B, C, D, E]

Пример

Давайте отсортируем список строк в обратном порядке с помощью потока:

import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<String> list = List.of("a", "b", "c", "d", "e"); List<String> res = list.stream() .sorted((x, y) -> y.compareTo(x)) .collect(Collectors.toList()); System.out.println(res); } }

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

[e, d, c, b, a]

Пример

Давайте подсчитаем сумму всех элементов списка чисел с помощью потока:

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

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

15

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

  • класс List,
    который представляет упорядоченную коллекцию элементов
  • метод iterator,
    который возвращает итератор по элементам списка
  • метод toArray,
    который преобразует список в массив
  • метод contains,
    который проверяет наличие элемента в списке
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить