Saltar al contenido principal
Publicado el

Lambda en Java

Compartir:

Introducción

Las expresiones lambda, introducidas en Java 8, revolucionaron la forma en que escribimos y comprendemos el código en Java, haciéndolo más conciso, legible y expresivo.

¿Qué es Lambda?

Lambda es un concepto que permite representar una instancia de una interfaz funcional de una manera más corta y simplificada. Básicamente, es una forma de escribir funciones anónimas: funciones sin nombre.

Ventajas de Lambda

  1. Concisión: El código se vuelve más compacto y limpio.
  2. Legibilidad: Facilita la lectura y comprensión del código.
  3. Flexibilidad: Puede usarse junto con las nuevas características de Java 8, como los Streams.

Ejemplo de Uso

package com.caffeinealgorithm.programaremjava;

import java.util.ArrayList;
import java.util.List;

public class Lambda {
  private List<String> personas = new ArrayList<>();

  public void Run() {
    personas.add("Nelson Silva");
    personas.add("Larissa Fernandes");
    personas.add("Pedro Henrique");
    personas.add("Raquel Soares");

    // listarPersonas();

    personas.forEach((persona) -> System.out.printf("Nombre: %s\n", persona));
  }

  private void listarPersonas() {
    for (String persona : personas)
      System.out.printf("Nombre: %s\n", persona);
  }
}

/*
  Nombre: Nelson Silva
  Nombre: Larissa Fernandes
  Nombre: Pedro Henrique
  Nombre: Raquel Soares
*/

¿Cómo Funciona?

En el ejemplo presentado anteriormente, vemos el uso de lambda para recorrer una lista e imprimir cada elemento. Aquí, el método forEach acepta una expresión lambda, que define qué hacer con cada elemento de la lista.

Más Ejemplos

  1. Ordenar una lista:
List<Integer> numeros = Arrays.asList(5, 2, 8, 3, 1);
numeros.sort((n1, n2) -> n1.compareTo(n2));
System.out.println(numeros);
  1. Crear un hilo:
new Thread(() -> System.out.println("Hilo siendo ejecutado usando Lambda!")).start();
  1. Operaciones con Streams:
long cantidad = personas.stream()
                .filter(persona -> persona.startsWith("N"))
                .count();
System.out.println("Cantidad de personas cuyo nombre comienza con la letra N: " + cantidad);

Conclusión

Las expresiones lambda son una adición poderosa al lenguaje Java, que permite a los desarrolladores escribir código de manera más eficiente y expresiva. Además, los lambdas son cruciales para aprovechar al máximo las nuevas características de Java, especialmente las introducidas en Java 8, como los Streams.

Happy coding!