BiFunction
Функция двух аргументов.
Доступно с: Java 8
Синтаксис
@FunctionalInterface
public interface BiFunction<T, U, R> {
R apply(T t, U u);
}Примеры
Цена с учётом количества:
void main() {
BiFunction<Double, Integer, Double> total = (price, qty) -> price * qty;
IO.println(total.apply(2.5, 4));
}Результат:
10.0Примечания
Есть и другие «двойные» интерфейсы: BiConsumer (используется в Map.forEach()) и BiPredicate. Если оба аргумента и результат одного типа, удобнее BinaryOperator. Функций трёх аргументов в стандартной библиотеке нет — объявите свой интерфейс.
См. также
- Function — Функция, которая принимает значение типа `T` и возвращает значение типа `R`.
- BinaryOperator — Функция двух аргументов, где аргументы и результат одного типа.
- Map.merge() — Добавляет значение по ключу или объединяет его с уже существующим.
В учебнике
- Функциональные интерфейсы — Функциональные интерфейсы в Java: аннотация @FunctionalInterface, стандартные Function, Predicate, Consumer, Supplier и их комбинирование.