Sobes.tech
Back to questions
Middle
8

Что такое findFirst() и терминальная операция в Stream API?

Companies where asked
ИП Ганус Александр Андреевич

Answer from AI

sobes.tech AI

Метод findFirst() в Stream API используется для получения первого элемента из потока, который соответствует заданным условиям. Это терминальная операция, то есть она запускает обработку потока и возвращает результат.

Терминальные операции — это операции, которые завершают обработку потока и возвращают конкретный результат (например, элемент, коллекцию, число) или побочный эффект. После терминальной операции поток считается «потреблённым» и не может использоваться дальше.

Пример использования findFirst():

List<String> list = Arrays.asList("apple", "banana", "cherry");
Optional<String> first = list.stream()
    .filter(s -> s.startsWith("b"))
    .findFirst();

first.ifPresent(System.out::println); // Выведет "banana"

Здесь findFirst() возвращает первый элемент, начинающийся с буквы "b". Если такой элемент отсутствует, возвращается пустой Optional.