package werti.util; import java.util.Collection; import java.util.LinkedList; import java.util.List; /* Reminds functional programming. */ public class Functional { public static Collection filter(Collection l, Predicate p) { final Collection rl = new LinkedList(); for (T t:l) { if (p.check(t)) rl.add(t); } return rl; } public static List map(Collection l, Function f) { final List rl = new LinkedList(); for (final A a:l) { rl.add(f.apply(a)); } return rl; } public interface Function { public B apply(A a); } public interface Predicate { public boolean check(T t); } }