Solución tradicional vs usando Lambda expresión

Solución tradicional

foreach(Employee employee: employees){
     Employee.increaseIncome(10.0);
}

Solución Lambda (en negrita, se destaca la expresión lambda)

employees.stream().
forEach(employee -> employee.increaseIncome(10.0));

Supongamos, ahora, que necesitáramos obtener los empleados con sueldo mayor a 1500 pesos.

Solución tradicional:

List<Employee> highIncomeEmployees =  new
ArrayList<Employee>();
Foreach(Employee employee: employees){
     If(employee.getFinalIncome()>1500){
          highIncomeEmployees.add(employee);

} }

return highIncomeEmployees;

Solución Lambda (en negrita, se destaca la expresión lambda)

return employees.stream().
filter(employee -> employee.getFinalIncome() > 1500.0).

               collect(Collectors.toList());

En los ejemplos ejecutables se muestra el código necesario para realizar distintas operaciones con colecciones, podrá ver como ordenar una colección, sumarla, encontrar el objeto que maximiza o minimiza un criterio, encontrar el primer objeto que cumple con un predicado, calcular el promedio de una colección, filtrar una colección o ejecutar una misma operación para cada uno de los objetos de la colección. 

Obra publicada con Licencia Creative Commons Reconocimiento 3.0