Специализации функциональных интерфейсов
1. Бинарные специализации функциональных интерфейсов
Существуют бинарные специализации (binary specializations) интерфейсов Predicate, Consumer, Function и UnaryOperator, которые принимают на вход два элемента.
| Интерфейс | Функциональный дескриптор | Описание |
|---|---|---|
| BiConsumer<T, U> | (T, U) -> void | Представляет операцию, которая принимает на вход два элемента и не возвращает результат. |
| BiFunction<T, U, R> | (T, U) -> R | Представляет операцию, которая принимает на вход два элемента и возвращает результат. |
| BiPredicate<T, U> | (T, U) -> boolean | Представляет операцию, которая принимает на вход два элемента и возвращает значение boolean. |
| BinaryOperator<T> | (T, T) -> T | Представляет операцию, которая принимает на вход два элемента одного типа и возвращает значение того же типа. |
2. Примитивные специализации функциональных интерфейсов
2.1. Predicate
| Интерфейс | Описание |
|---|---|
| IntPredicate | Принимает на вход значение типа int возвращает значение типа boolean. |
| LongPredicate | Принимает на вход значение типа long возвращает значение типа boolean. |
| DoublePredicate | Принимает на вход значение типа double возвращает значение типа boolean. |
2.2. Consumer
| Интерфейс | Описание |
|---|---|
| IntConsumer | Принимает на вход значение типа |
| LongConsumer | Принимает на вход значение типа |
| DoubleConsumer | Принимает на вход значение типа double и ничего не возвращает. |
2.3. Function
Принимающие примитивные специализации
| Интерфейс | Описание |
|---|---|
| IntFunction<R> | Принимает на вход значение типа |
| LongFunction<R> | Принимает на вход значение типа long и возвращает значение типа R. |
| DoubleFunction<R> | Принимает на вход значение типа double и возвращает значение R. |
Производящие примитивные специализации
| Интерфейс | Описание |
|---|---|
| ToIntFunction<T> | Принимает на вход значение типа T и возвращает значение типа int. |
| ToDoubleFunction<T> | Принимает на вход значение типа T и возвращает значение типа double. |
| ToLongFunction<T> | Принимает на вход значение типа T и возвращает значение типа long. |
Принимающие и производящие примитивные специализации
| Интерфейс | Описание |
|---|---|
| IntToDoubleFunction | Принимает на вход значение типа int и возвращает значение типа double. |
| IntToLongFunction | Принимает на вход значение типа int и возвращает значение типа long. |
| LongToDoubleFunction | Принимает на вход значение типа long и возвращает значение типа double. |
| LongToIntFunction | Принимает на вход значение типа long и возвращает значение типа int. |
| DoubleToIntFunction | Принимает на вход значение типа double и возвращает значение типа int. |
| DoubleToLongFunction | Принимает на вход значение типа double и возвращает значение типа long. |
2.4. Supplier
| Интерфейс | Описание |
|---|---|
| BooleanSupplier | Возвращает значение типа boolean. |
| IntSupplier | Возвращает значение типа int. |
| LongSupplier | Возвращает значение типа long. |
| DoubleSupplier | Возвращает значение типа double. |
2.5. UnaryOperator
| Интерфейс | Описание |
|---|---|
| IntUnaryOperator | Принимает и возвращает значение типа int. |
| LongUnaryOperator | Принимает и возвращает значение типа long. |
| DoubleUnaryOperator | Принимает и возвращает значение типа double. |
2.6. BinaryOperator
| Интерфейс | Описание |
|---|---|
| IntBinaryOperator | Принимает на вход два значения типа int и возвращает значение типа int. |
| LongBinaryOperator | Принимает на вход два значения типа long и возвращает значение типа long. |
| DoubleBinaryOperator | Принимает на вход два значения типа double и возвращает значение типа double. |
2.7. BiConsumer
| Интерфейс | Описание |
|---|---|
| ObjIntConsumer<T> | Принимает на вход два значения: типа int и Object. |
| ObjLongConsumer<T> | Принимает на вход два значения: типа long и Object. |
| ObjDoubleConsumer<T> | Принимает на вход два значения: типа double и Object. |
2.8. BiFunction
| Интерфейс | Описание |
|---|---|
| ToIntBiFunction<T, U> | Принимает на вход два объекта и возвращает значение типа int. |
| ToLongBiFunction<T, U> | Принимает на вход два объекта и возвращает значение типа long. |
| ToDoubleBiFunction<T, U> | Принимает на вход два объекта и возвращает значение типа double. |
Курс 'Java для начинающих' на Udemy
Зарегистрируйтесь или войдите, чтобы иметь возможность оставить комментарий.