Назад к вопросам
Middle
9
Что такое findFirst() и терминальная операция в Stream API?
Компании, где спрашивали
ИП Ганус Александр Андреевич
Ответ от нейросети
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.