Colecciones de Apache Commons - Combinar y ordenar
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.
Fusionando dos listas ordenadas
El método collate () de CollectionUtils se puede utilizar para fusionar dos listas ya ordenadas.
Declaración
A continuación se muestra la declaración de
org.apache.commons.collections4.CollectionUtils.collate() método -
public static <O extends Comparable<? super O>> List<O>
collate(Iterable<? extends O> a, Iterable<? extends O> b)
Parámetros
a - La primera colección, no debe ser nula.
b - La segunda colección, no debe ser nula.
Valor devuelto
Una nueva lista ordenada, que contiene los elementos de la Colección ay b.
Excepción
NullPointerException - Si alguna de las colecciones es nula.
Ejemplo
El siguiente ejemplo muestra el uso de org.apache.commons.collections4.CollectionUtils.collate()método. Combinaremos dos listas ordenadas y luego imprimiremos la lista combinada y ordenada.
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);
}
}
Salida
La salida es la siguiente:
[A, B, C, D, E, F]