Commons Collections: CollectionUtils

なんかRubyライクなメソッドがあったのでメモ。


List list = (List) Yaml.load("--- [AAA, BBB, CC, DD, EEE]");

CollectionUtils.forAllDo(list, new Closure() {
public void execute(Object i) {
System.out.println(i);
}
});

List collected = (List) CollectionUtils.collect(list, new Transformer() {
public Object transform(Object i) {
String s = (String) i;
return s.substring(0, 1);
}
});

System.out.println(collected);

List selected = (List) CollectionUtils.select(list, new Predicate() {
public boolean evaluate(Object i) {
String s = (String) i;
return (s.length() > 2);
}
});

System.out.println(selected);