Collections Apache Commons - Fusionner et trier

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.

Fusion de deux listes triées

La méthode collate () de CollectionUtils peut être utilisée pour fusionner deux listes déjà triées.

Déclaration

Voici la déclaration pour

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

public static <O extends Comparable<? super O>> List<O>
   collate(Iterable<? extends O> a, Iterable<? extends O> b)

Paramètres

  • a - La première collection ne doit pas être nulle.

  • b - La deuxième collection ne doit pas être nulle.

Valeur de retour

Une nouvelle liste triée, contenant les éléments de la collection a et b.

Exception

  • NullPointerException - Si l'une ou l'autre des collections est nulle.

Exemple

L'exemple suivant montre l'utilisation de org.apache.commons.collections4.CollectionUtils.collate()méthode. Nous fusionnerons deux listes triées, puis imprimerons la liste fusionnée et triée.

import java.util.Arrays;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
public class CollectionUtilsTester {
   public static void main(String[] args) {
      List<String> sortedList1 = Arrays.asList("A","C","E");
      List<String> sortedList2 = Arrays.asList("B","D","F");
      List<String> mergedList = CollectionUtils.collate(sortedList1, sortedList2);
      System.out.println(mergedList);
   }
}

Production

La sortie est la suivante -

[A, B, C, D, E, F]