The author has a more than decennial experience as Java developer having been involved in (and often leading) many enterprise level successful projects in several industries ranging from media companies to the financial sector. He also created the open source library lambdaj with the purposes of providing an internal Java DSL for manipulating collections and allowing a bit of functional programming in Java.
Lambdaj is a Java library that allows to manipulate java collections in a functional and declarative way and then without writing any explicit loop.
Indeed to iterate over collection, especially in nested and conditional loops, is often error prone, makes the code less readable and increases its cyclomatic complexity. The purpose of this library is to alleviate these problems employing some functional programming techniques but without losing the static typing of Java.
This last constraint has been enforced in order to make refactoring easier and safer and allow the compiler to make all the necessary type checks.




