馃挬

programierds

Volver a Java
Lecci贸n 10 de 12

Lambdas e Interfaces Funcionales

Java permite el paradigma de programaci贸n funcional desde la versi贸n 8.

Interfaces Funcionales

Es una interfaz que tiene exactamente un m茅todo abstracto. Se suelen marcar con @FunctionalInterface.

@FunctionalInterface
public interface Operacion {
    int ejecutar(int a, int b);
}

Expresiones Lambda

Son una forma concisa de implementar una interfaz funcional sin crear una clase completa.

Sintaxis: (par谩metros) -> expresi贸n

// Ejemplo de lambda para sumar
Operacion suma = (a, b) -> a + b;
System.out.println(suma.ejecutar(5, 3)); // 8

Stream API y Aplicaciones

Las lambdas son muy potentes cuando se usan con colecciones:

  • forEach: Recorre elementos.
  • filter: Filtra elementos seg煤n una condici贸n.
  • map: Transforma elementos.
  • anyMatch / allMatch: Verifica condiciones.

Ejemplo:

List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6);
List<Integer> pares = numeros.stream()
    .filter(n -> n % 2 == 0)
    .collect(Collectors.toList());
// Resultado: [2, 4, 6]