Collections communes - Transformer des objets

La classe CollectionUtils de la bibliothèque Apache Commons Collections fournit diverses méthodes utilitaires pour les opérations courantes couvrant un large éventail de cas d'utilisation. Cela permet d'éviter d'écrire du code standard. Cette bibliothèque est très utile avant jdk 8 car des fonctionnalités similaires sont désormais fournies dans l'API Stream de Java 8.

Transformer une liste

La méthode collect () de CollectionUtils peut être utilisée pour transformer une liste d'un type d'objets en liste de différents types d'objets.

Déclaration

Voici la déclaration pour

org.apache.commons.collections4.CollectionUtils.collect() méthode -

public static <I,O> Collection<O> collect(Iterable<I> inputCollection,
   Transformer<? super I,? extends O> transformer)

Paramètres

  • inputCollection - La collection à partir de laquelle obtenir l'entrée peut ne pas être nulle.

  • Transformer - Le transformateur à utiliser peut être nul.

Valeur de retour

Le résultat transformé (nouvelle liste).

Exception

  • NullPointerException - Si la collection d'entrée est nulle.

Exemple

L'exemple suivant montre l'utilisation de org.apache.commons.collections4.CollectionUtils.collect()méthode. Nous transformerons une liste de chaînes en liste d'entiers en analysant la valeur entière 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);
   }
}

Production

Lorsque vous utilisez le code, vous obtiendrez le code suivant -

[1, 2, 3]