Expresiones Lambdas en Java

¿Qué es una expresión lambda ?

Una expresión lambda representa una función anónima.

λx → x+x

Función anónima que toma un número x y devuelve el resultado x + x.

Alonzo Church desarrolló en los años 30's el "Cálculo lambda", un sistema formal en lógica
matemática diseñado para investigar la definición de función, la noción de aplicación de funciones y la
recursión.

Una expresión lambda se compone de un conjunto de parámetros, un operador lambda (->) y un cuerpo de la
función
.

Ejemplo:
Lambda Java 8


  () -> System.out.println("Hello Lambda");
  x -> x + 10;
  (int x, int y) -> { return x + y; }
  (String x, String y) -> x.length() – y.length();

¿Por qué Java necesita Expresiones Lambda?

Java necesitaba cambios para simplificar la codificación paralela .
Es muy útil para evitar tener que escribir métodos que sólo utilizamos una vez.
Simplifica cómo pasar comportamiento como un parámetro (podemos pasar expresiones lambda
a métodos como argumentos).

¿Qué es programación funcional ?

Un paradigma de programación donde las funciones son entidades de primera clase.

Esto significa, qué las funciones pueden ser usada de la misma forma que usamos enteros (integers) o cadenas de caracteres(strings).

Se pueden pasar funciones como parámetros a otras funciones y pueden ser retornada como resultado de otras funciones.

¿Por qué utilizar programación funcional?

  • Ley de Moore
  • Programación Concurrente
  • Inmutabilidad -> El estado no cambia
  • Facilidad para programar concurrentemente
  • Las funciones siempre devuelven el mismo resultado para cada entrada
  • Reducción de la cantidad de líneas de código.
  • Código más fácil de testear.

¿Desea obtener más información?

Leer mis presentaciones en JAVA 8 - MÁS ALLÁ DE LAS EXPRESIONES LAMBDA