Coleções Apache Commons - Mesclar e Classificar
A classe CollectionUtils da biblioteca de coleções do Apache Commons fornece vários métodos utilitários para operações comuns que abrangem uma ampla variedade de casos de uso. Isso ajuda a evitar escrever código clichê. Essa biblioteca é muito útil antes do jdk 8, pois funcionalidades semelhantes agora são fornecidas na API de fluxo do Java 8.
Mesclando duas listas classificadas
O método collate () de CollectionUtils pode ser usado para mesclar duas listas já classificadas.
Declaração
A seguir está a declaração para
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 - A primeira coleção não deve ser nula.
b - A segunda coleção não deve ser nula.
Valor de retorno
Uma nova lista classificada, contendo os elementos da coleção a e b.
Exceção
NullPointerException - Se qualquer uma das coleções for nula.
Exemplo
O exemplo a seguir mostra o uso de org.apache.commons.collections4.CollectionUtils.collate()método. Vamos mesclar duas listas classificadas e, em seguida, imprimir a lista combinada e classificada.
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);
}
}
Resultado
O resultado é o seguinte -
[A, B, C, D, E, F]