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

Метод findFirst

Метод findFirst возвращает первый элемент потока в виде контейнера Optional. Если поток пуст, возвращается пустой Optional. Метод не принимает параметров и является терминальной операцией, то есть завершает обработку потока. Для последовательных потоков он возвращает именно первый элемент, а для параллельных - элемент, который оказался первым с точки зрения порядка обработки.

Синтаксис

Optional<T> findFirst()

Пример

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

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

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

1

Пример

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

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

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

"abcde"

Пример

Давайте применим метод findFirst к пустому потоку:

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

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

true

Пример

Давайте найдем первый четный элемент потока после фильтрации:

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

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

4

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

  • метод findAny,
    который возвращает любой элемент потока
  • метод filter,
    который отбирает элементы по условию
  • метод map,
    который преобразует элементы потока
  • класс Stream,
    который представляет поток элементов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить