BinaryOperator Interface<T> es parte del paquete java.util.function que se introdujo desde Java 8 para implementar la programación funcional en Java. Representa un operador binario que toma dos operandos y opera sobre ellos para producir un resultado. Sin embargo, lo que lo distingue de un BiFunciton normal es que tanto sus argumentos como su tipo de devolución son los mismos.
Esta interfaz funcional que toma en un genérico a saber: –
- T : denota el tipo de los argumentos de entrada y el valor de retorno de la operación
BinaryOperator<T> amplía el tipo BiFunction<T, T, T>. Por lo tanto, hereda los siguientes métodos de la interfaz BiFunction:
La expresión lambda asignada a un objeto de tipo BiaryOperator se usa para definir su apply() que eventualmente aplica la operación dada en sus argumentos.
Funciones en la interfaz BinaryOperator
La interfaz BinaryOperator consta de las siguientes funciones:
1. maxPor()
Estos métodos devuelven un BinaryOperator que devuelve el mayor de los dos elementos en función de un comparador dado
Sintaxis:
static <T> BinaryOperator<T> maxBy(Comparator<? super T> comparator)
Parámetros: Toma solo un parámetro, a saber, comparador , que es un objeto de la clase Comparador.
Devoluciones: este método devuelve un BinaryOperator que devuelve el máximo de los dos objetos pasados al llamarlo en función del comparador dado.
A continuación se muestra el código para ilustrar el método maxBy():
Programa:
Java
import java.util.function.BinaryOperator; public class GFG { public static void main(String args[]) { BinaryOperator<Integer> op = BinaryOperator .maxBy( (a, b) -> (a > b) ? 1 : ((a == b) ? 0 : -1)); System.out.println(op.apply(98, 11)); } }
98
2. minPor()
Este método devuelve un BinaryOperator que devuelve el menor de los dos elementos en función de un comparador dado
Sintaxis:
static <T> BinaryOperator<T> minBy(Comparator<? super T> comparator)
Parámetros: Toma solo un parámetro, a saber, comparador , que es un objeto de la clase Comparador.
Devoluciones: este método devuelve un BinaryOperator que devuelve el mínimo de los dos objetos pasados al llamarlo en función del comparador dado.
A continuación se muestra el código para ilustrar el método minBy():
Programa :
Java
import java.util.function.BinaryOperator; public class GFG { public static void main(String args[]) { BinaryOperator<Integer> op = BinaryOperator .minBy( (a, b) -> (a > b) ? 1 : ((a == b) ? 0 : -1)); System.out.println(op.apply(98, 11)); } }
11