import java.util.*;
public class Grep {
public static <T> List<T> grep(Grepping<T> mapping, List<T> in) {
List<T> out=new ArrayList<T>();
for(T t : in) {
if(mapping.map(t)) {
out.add(t);
}
}
return out;
}
public static <T> List<T> grep(Grepping<T> mapping, T... in) {
List<T> out=new ArrayList<T>();
if(in!=null) {
for(int i=0; i<in.length; i++) {
if(mapping.map(in[i])) {
out.add(in[i]);
}
}
}
return out;
}
}
Com isso, posso fazer chamadas mesmo quando não tiver uma lista. Não gosto de arbitrariamente criar estruturas só para poder usar um método. Com vargars, a segunda versão de grep() pode receber uma seqüência qualquer de elementos, como no exemplo abaixo:
mulheres=Grep.grep(PessoaGrepping.MULHERES,
fulano, ciclana, beltrano, arlinda);
Nenhum comentário:
Postar um comentário