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]