Colecciones comunes: objetos transformadores

La clase CollectionUtils de la biblioteca Apache Commons Collections proporciona varios métodos de utilidad para operaciones comunes que cubren una amplia gama de casos de uso. Ayuda a evitar escribir código repetitivo. Esta biblioteca es muy útil antes de jdk 8 ya que ahora se proporcionan funcionalidades similares en la API Stream de Java 8.

Transformar una lista

El método collect () de CollectionUtils se puede utilizar para transformar una lista de un tipo de objetos en una lista de diferentes tipos de objetos.

Declaración

A continuación se muestra la declaración de

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 - La colección de la que se obtendrá la entrada no puede ser nula.

  • Transformer - El transformador a utilizar, puede ser nulo.

Valor devuelto

El resultado transformado (nueva lista).

Excepción

  • NullPointerException - Si la colección de entrada es nula.

Ejemplo

El siguiente ejemplo muestra el uso de org.apache.commons.collections4.CollectionUtils.collect()método. Transformaremos una lista de cadenas en una lista de enteros analizando el valor entero 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);
   }
}

Salida

Cuando use el código, obtendrá el siguiente código:

[1, 2, 3]