junior
Для чего нужен функциональный интерфейс BiFunction?
BiFunction<T, U, R> — функциональный интерфейс, принимающий два аргумента типов T и U и возвращающий результат типа R. Основной метод — apply(T t, U u).
Этот интерфейс используется, когда для вычисления результата требуется два входных значения. Пример — метод Map.replaceAll(), который принимает BiFunction<K, V, V> для замены всех значений в карте:
Пример
Map<String, Integer> map = new HashMap<>(Map.of("a", 1, "b", 2));
map.replaceAll((key, value) -> value * 10);
// {a=10, b=20}
BiFunction содержит default-метод andThen() для цепочки с последующим Function. BinaryOperator<T> является частным случаем BiFunction<T, T, T>.
На собеседовании: упомяните связь с
BinaryOperator— это покажет понимание иерархии функциональных интерфейсов.