UnaryOperator Interface<T> es parte del paquete java.util.function que se introdujo desde Java 8 para implementar la programación funcional en Java. Representa una función que toma un argumento y opera sobre él. Sin embargo, lo que la distingue de una función normal es que tanto su argumento como su tipo de devolución son los mismos.
De ahí esta interfaz funcional que toma un genérico a saber: –
- T : denota el tipo del argumento de entrada a la operación
Por lo tanto, UnaryOperator<T> sobrecarga el tipo Function<T, T>. Por lo tanto, hereda los siguientes métodos de la interfaz de funciones:
- T aplicar (T t)
- predeterminado <V> Función <T, V> y luego (Función <? super R, ? extiende V> después)
- predeterminado <V> Función <V, R> componer (Función <? super V, ? extiende T> antes)
La expresión lambda asignada a un objeto de tipo UnaryOperator se usa para definir su accept() que eventualmente aplica la operación dada en su argumento.
Funciones en la interfaz UnaryOperator
La interfaz UnaryOperator consta de las siguientes funciones:
1. identidad()
Este método devuelve un UnaryOperator que toma un valor y lo devuelve. El UnaryOperator devuelto no realiza ninguna operación en su único valor.
Sintaxis:
static UnaryOperator identity()
Parámetros: Este método no toma ningún parámetro.
Devoluciones: Un UnaryOperator que toma un valor y lo devuelve.
A continuación se muestra el código para ilustrar el método accept():
Programa 1:
import java.util.function.UnaryOperator; public class GFG { public static void main(String args[]) { // Instantiate the UnaryOperator interface UnaryOperator<Boolean> op = UnaryOperator.identity(); // Apply identify() method System.out.println(op.apply(true)); } }
true
A continuación se muestran algunos ejemplos para demostrar los métodos heredados de Function<T, T>:
1.aceptar()
import java.util.function.Function; import java.util.function.UnaryOperator; public class GFG { public static void main(String args[]) { UnaryOperator<Integer> xor = a -> a ^ 1; System.out.println(xor.apply(2)); } }
3
2.añadirEntonces()
import java.util.function.Function; import java.util.function.UnaryOperator; public class GFG { public static void main(String args[]) { UnaryOperator<Integer> xor = a -> a ^ 1; UnaryOperator<Integer> and = a -> a & 1; Function<Integer, Integer> compose = xor.andThen(and); System.out.println(compose.apply(2)); } }
1
3.componer()
import java.util.function.Function; import java.util.function.UnaryOperator; public class GFG { public static void main(String args[]) { UnaryOperator<Integer> xor = a -> a ^ 1; UnaryOperator<Integer> and = a -> a & 1; Function<Integer, Integer> compose = xor.compose(and); System.out.println(compose.apply(231)); } }
0