Coleções Commons - Transformando Objetos
A classe CollectionUtils da biblioteca de coleções do Apache Commons fornece vários métodos utilitários para operações comuns que abrangem uma ampla variedade de casos de uso. Isso ajuda a evitar escrever código clichê. Essa biblioteca é muito útil antes do jdk 8, pois funcionalidades semelhantes agora são fornecidas na API de fluxo do Java 8.
Transformando uma lista
O método collect () de CollectionUtils pode ser usado para transformar uma lista de um tipo de objetos em uma lista de diferentes tipos de objetos.
Declaração
A seguir está a declaração para
org.apache.commons.collections4.CollectionUtils.collect() método -
public static <I,O> Collection<O> collect(Iterable<I> inputCollection,
Transformer<? super I,? extends O> transformer)
Parâmetros
inputCollection - A coleção da qual obter a entrada não pode ser nula.
Transformer - O transformador a ser usado pode ser nulo.
Valor de retorno
O resultado transformado (nova lista).
Exceção
NullPointerException - Se a coleção de entrada for nula.
Exemplo
O exemplo a seguir mostra o uso de org.apache.commons.collections4.CollectionUtils.collect()método. Vamos transformar uma lista de string em lista de inteiros, analisando o valor inteiro de String.
import java.util.Arrays;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.Transformer;
public class CollectionUtilsTester {
public static void main(String[] args) {
List<String> stringList = Arrays.asList("1","2","3");
List<Integer> integerList = (List<Integer>) CollectionUtils.collect(
stringList, new Transformer<String, Integer>() {
@Override
public Integer transform(String input) {
return Integer.parseInt(input);
}
});
System.out.println(integerList);
}
}
Resultado
Ao usar o código, você obterá o seguinte código -
[1, 2, 3]