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]