Programación Funcional en Java 8 y Posteriores
Expresiones Lambda
Las expresiones lambda son una característica clave de la programación funcional en Java 8. Permiten escribir funciones de manera concisa y expresiva. Aquí hay un ejemplo básico:
// Sintaxis de expresión lambda
(parámetros) -> expresión
// Ejemplo de una expresión lambda
(x, y) -> x + y
En el ejemplo anterior, la expresión lambda toma dos parámetros x
e y
y devuelve su suma.
Streams
Los streams son otra característica importante de Java 8 que permite realizar operaciones de manera declarativa en conjuntos de datos. Aquí hay un ejemplo que utiliza un stream para filtrar y mapear elementos:
import java.util.Arrays;
import java.util.List;
public class UsoStreams {
public static void main(String[] args) {
List nombres = Arrays.asList("Juan", "María", "Carlos", "Elena");
// Utilizando un stream para filtrar y mapear elementos
nombres.stream()
.filter(nombre -> nombre.startsWith("M"))
.map(String::toUpperCase)
.forEach(System.out::println);
}
}
En este ejemplo, el stream filtra los nombres que comienzan con "M" y luego convierte los nombres restantes a mayúsculas antes de imprimirlos.
Interfaz Funcional y Anotación @FunctionalInterface
Una interfaz funcional es una interfaz con un solo método abstracto. En Java, puedes utilizar la anotación @FunctionalInterface
para indicar que una interfaz es funcional. Aquí hay un ejemplo:
// Interfaz funcional con la anotación @FunctionalInterface
@FunctionalInterface
interface MiInterfazFuncional {
void miMetodoAbstracto();
}
// Uso de la interfaz funcional con una expresión lambda
public class UsoInterfazFuncional {
public static void main(String[] args) {
MiInterfazFuncional miFuncion = () -> System.out.println("Hola desde la expresión lambda");
miFuncion.miMetodoAbstracto();
}
}
En este ejemplo, la interfaz MiInterfazFuncional
tiene un solo método abstracto. La anotación @FunctionalInterface
no es obligatoria, pero sirve como una advertencia para el compilador y otros desarrolladores.
No hay comentarios:
Publicar un comentario