La méthode canonique consiste simplement à itérer sur la structure de données et à insérer les objets souhaités dans un nouveau. Malheureusement, Java n'a pas de liste de compréhension ou de fonctions de première classe. Mais nous pouvons les simuler en utilisant une bibliothèque comme Functional Java:
import fj.F;
import fj.data.List;
import static fj.data.List.list;
import static fj.pre.Show.listShow;
import static fj.pre.Show.stringShow;
List<String> myList = list("one", "two", "three").filter(
new F<String, Boolean>() {
public Boolean f(String s) {
return s.contains("e");
}
});
listShow(stringShow).print(myList);
qui imprimera ["one", "three"]
la sortie standard.