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

Метод stream

Метод stream класса Optional преобразует объект Optional в поток Stream. Если значение в Optional присутствует, поток будет содержать один элемент с этим значением. Если Optional пуст, поток будет пустым (содержать ноль элементов). Метод не принимает параметров и возвращает объект типа Stream.

Синтаксис

optional.stream()

Пример

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

import java.util.Optional; import java.util.stream.Stream; public class Main { public static void main(String[] args) { Optional<String> opt = Optional.of("abcde"); Stream<String> stream = opt.stream(); stream.forEach(System.out::println); } }

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

"abcde"

Пример

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

import java.util.Optional; import java.util.stream.Stream; public class Main { public static void main(String[] args) { Optional<String> opt = Optional.empty(); Stream<String> stream = opt.stream(); System.out.println(stream.count()); } }

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

0

Пример

Давайте используем метод stream вместе с методом flatMap для разворачивания списка объектов Optional в один общий поток:

import java.util.List; import java.util.Optional; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<Optional<String>> list = List.of( Optional.of("abcde"), Optional.empty(), Optional.of("12345") ); List<String> res = list.stream() .flatMap(Optional::stream) .collect(Collectors.toList()); System.out.println(res); } }

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

["abcde", "12345"]

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

  • класс Optional,
    который представляет контейнер для значения
  • метод isPresent,
    который проверяет наличие значения
  • метод get,
    который возвращает значение из Optional
  • метод flatMap,
    который преобразует значение в другой Optional
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить