Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

BinaryOperator

Функция двух аргументов, где аргументы и результат одного типа.

Доступно с: Java 8

Синтаксис

@FunctionalInterface
public interface BinaryOperator<T> extends BiFunction<T, T, T>

Примеры

Операции для reduce():

void main() {
    BinaryOperator<Integer> max = BinaryOperator.maxBy(Comparator.naturalOrder());
    BinaryOperator<Integer> sum = Integer::sum;
    IO.println(max.apply(3, 9));
    IO.println(Stream.of(1, 2, 3).reduce(0, sum));
}

Результат:

9
6

Примечания

Принимается в Stream.reduce() и как функция слияния в Collectors.toMap(). Готовые операции: BinaryOperator.minBy(), BinaryOperator.maxBy(), а также ссылки Integer::sum, Math::max.

См. также

  • BiFunction — Функция двух аргументов.
  • Stream.reduce() — Сворачивает все элементы потока в одно значение.
  • UnaryOperator — Функция, у которой аргумент и результат одного типа.

В учебнике

  • Функциональные интерфейсы — Функциональные интерфейсы в Java: аннотация @FunctionalInterface, стандартные Function, Predicate, Consumer, Supplier и их комбинирование.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.