Встречается на 2% собеседований по Java
Какие знаешь классические функциональные интерфейсы
В Java есть несколько основных функциональных интерфейсов в пакете java.util.function:
Predicate<T>- проверяет условие (методtest())
java
Predicate<String> isEmpty = s -> s.isEmpty();Function<T,R>- преобразует T в R (методapply())
java
Function<Integer, String> intToString = i -> "Number: " + i;Consumer<T>- принимает T, ничего не возвращает (методaccept())
java
Consumer<String> printer = System.out::println;Supplier<T>- поставляет значения (методget())
java
Supplier<Double> random = Math::random;UnaryOperator<T>- частный случай Function, где вход и выход одного типа
java
UnaryOperator<String> toUpper = String::toUpperCase;BiFunction<T,U,R>- принимает два аргумента, возвращает результат
java
BiFunction<Integer, Integer, Integer> sum = (a, b) -> a + b;Эти интерфейсы активно используются в Stream API и лямбда-выражениях.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы