Sobes.tech
Middle

Wat is findFirst() en wat is een terminale operatie in Stream API?

sobes.tech AI

Antwoord van 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.