Junior
43
questionbank

Какие функциональные интерфейсы вы знаете?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech
  • Predicate<T>: Принимает аргумент типа T и возвращает булево значение. Часто используется для фильтрации элементов.
  • Consumer<T>: Принимает аргумент типа T и ничего не возвращает. Применяется для выполнения действий над элементами.
  • Supplier<T>: Не принимает аргументов и возвращает значение типа T. Используется для генерации значений.
  • Function<T, R>: Принимает аргумент типа T и возвращает значение типа R. Используется для преобразования значений.
  • UnaryOperator<T>: Расширяет Function<T, T>, принимает аргумент типа T и возвращает значение того же типа.
  • BinaryOperator<T>: Расширяет BiFunction<T, T, T>, принимает два аргумента типа T и возвращает значение того же типа. Часто используется в операциях редукции.
  • BiPredicate<T, U>: Принимает два аргумента типов T и U, возвращает булево значение.
  • BiConsumer<T, U>: Принимает два аргумента типов T и U, ничего не возвращает.
  • BiFunction<T, U, R>: Принимает два аргумента типов T и U, возвращает значение типа R.

Кроме того, есть специализированные функциональные интерфейсы для примитивных типов (IntPredicate, LongSupplier, DoubleConsumer и т.д.) во избежание автоупаковки/распаковки, а также интерфейсы с возвращаемым типом void (Runnable).