ADS

¿Qué es Lambda en Java y cómo puedes utilizarla en tu código?

¿Qué es Lambda en Java y cómo puedes utilizarla en tu código?


En este artículo vamos a explicar qué es una expresión lambda en Java y cómo puedes usarla en tu código. Una expresión lambda es una forma de escribir una función anónima, es decir, una función que no tiene nombre ni pertenece a ninguna clase. Las expresiones lambda se introdujeron en Java 8 como parte de la programación funcional, que permite trabajar con funciones como si fueran objetos.


Las expresiones lambda tienen la siguiente sintaxis:


(argumentos) -> {cuerpo}


Los argumentos son los parámetros de entrada de la función, que pueden ser cero o más, y pueden tener el tipo explícito o implícito. El cuerpo es el bloque de código que se ejecuta cuando se llama a la función, y puede contener una o más sentencias. Si el cuerpo solo tiene una sentencia, se pueden omitir las llaves y el return.


Las expresiones lambda se pueden asignar a variables o pasar como argumentos a otros métodos que esperan una interfaz funcional. Una interfaz funcional es una interfaz que solo tiene un método abstracto, y que se puede implementar con una expresión lambda. Algunas interfaces funcionales comunes son Runnable, Comparator, Consumer, Predicate y Function.


Veamos algunos ejemplos de cómo usar expresiones lambda en Java:


// Asignar una expresión lambda a una variable

Runnable r = () -> System.out.println("Hola mundo");


// Pasar una expresión lambda como argumento

List<String> nombres = Arrays.asList("Ana", "Pedro", "Juan");

nombres.forEach(nombre -> System.out.println(nombre.toUpperCase()));


// Usar una expresión lambda para implementar un Comparator

List<Persona> personas = Arrays.asList(new Persona("Ana", 20), new Persona("Pedro", 25), new Persona("Juan", 30));

personas.sort((p1, p2) -> p1.getEdad() - p2.getEdad());


// Usar una expresión lambda para filtrar una lista

List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5);

List<Integer> pares = numeros.stream().filter(n -> n % 2 == 0).collect(Collectors.toList());


// Usar una expresión lambda para transformar una lista

List<String> palabras = Arrays.asList("hola", "mundo", "java");

List<Integer> longitudes = palabras.stream().map(p -> p.length()).collect(Collectors.toList());


Como puedes ver, las expresiones lambda te permiten escribir código más conciso y legible, y aprovechar las ventajas de la programación funcional en Java. Esperamos que este artículo te haya sido útil y te invitamos a seguir aprendiendo más sobre este tema.


Uso cookies para darte un mejor servicio.
Mi sitio web utiliza cookies para mejorar tu experiencia. Acepto Leer más