Первый подходящий элемент потока в Java
Метод findFirst возвращает Optional:
контейнер, в котором элемент может отсутствовать.
Если подходящего значения нет, выбирают запасной
вариант через orElse или обрабатывают пустой
случай явно.
Из списка можно взять первое число больше пяти:
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> nums = List.of(1, 9, 3, 6, 11);
int first = nums.stream()
.filter(n -> n > 5)
.findFirst()
.orElse(-1);
System.out.println(first);
}
}
Метод findAny ведет себя похоже на
findFirst для обычного последовательного
потока из списка. Для параллельных потоков он
может вернуть любой подходящий элемент, что
иногда ускоряет поиск.
Дан код:
var strings = List.of("io", "api", "log");
Найдите первую строку длиннее двух символов и выведите её.
Дан код:
var nums = List.of(1, 2, 3);
Попробуйте найти число больше десяти. Если такого числа нет, выведите ноль.