Collezioni Commons - Trasformazione di oggetti

La classe CollectionUtils della libreria Apache Commons Collections fornisce vari metodi di utilità per operazioni comuni che coprono un'ampia gamma di casi d'uso. Aiuta a evitare di scrivere codice boilerplate. Questa libreria è molto utile prima di jdk 8 poiché funzionalità simili sono ora fornite nell'API Stream di Java 8.

Trasformare una lista

Il metodo collect () di CollectionUtils può essere utilizzato per trasformare un elenco di un tipo di oggetti in un elenco di diversi tipi di oggetti.

Dichiarazione

Di seguito è riportata la dichiarazione per

org.apache.commons.collections4.CollectionUtils.collect() metodo -

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

Parametri

  • inputCollection - La raccolta da cui ottenere l'input potrebbe non essere nulla.

  • Transformer - Il trasformatore da utilizzare, può essere nullo.

Valore di ritorno

Il risultato trasformato (nuovo elenco).

Eccezione

  • NullPointerException - Se la raccolta di input è nulla.

Esempio

L'esempio seguente mostra l'utilizzo di org.apache.commons.collections4.CollectionUtils.collect()metodo. Trasformeremo un elenco di stringhe in un elenco di interi analizzando il valore intero da 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);
   }
}

Produzione

Quando usi il codice, otterrai il seguente codice:

[1, 2, 3]