Coollections
Depois que conheci as funcionalidades do Array no Ruby e do LINQ no .NET, iterar sobre coleções virou procedimento medieval. E nesse caso Java ainda é medieval.
Para essa linguagem existem APIs que auxiliam isso, como quaere e lambdaj. Mas não gosto de nenhuma.
Fiz um experimento com as Collections do Java. Tentei criar uma API que realiza um filtro, só pra ver como ficaria. Gostei do resultado. Chamei de Coollections e coloquei no Github.
import static com.wagnerandade.coollection.Coollection.*;
List<Animal> animals;
// Gets all cats.
from(animals).where("name", eq("Cat")).all();
// Gets first animal with two years old.
from(animals).where("age", eq(2)).first();
Vou criar outras implementações, como order, select, map e outros. Farei no decorrer do período. Se alguém quiser ajudar…