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]