Kolekcje Apache Commons - scalanie i sortowanie

Klasa CollectionUtils z biblioteki Apache Commons Collections udostępnia różne metody narzędziowe do typowych operacji obejmujących szeroki zakres przypadków użycia. Pomaga to uniknąć pisania kodu standardowego. Ta biblioteka jest bardzo przydatna przed jdk 8, ponieważ podobne funkcje są teraz dostępne w Stream API Java 8.

Scalanie dwóch posortowanych list

collate () metody CollectionUtils może służyć do scalania dwóch już posortowanych list.

Deklaracja

Poniżej znajduje się deklaracja dla

org.apache.commons.collections4.CollectionUtils.collate() metoda -

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

Parametry

  • a - Pierwsza kolekcja nie może być zerowa.

  • b - Druga kolekcja nie może być zerowa.

Wartość zwracana

Nowa posortowana lista zawierająca elementy Collection a i b.

Wyjątek

  • NullPointerException - Jeśli któraś z kolekcji jest pusta.

Przykład

Poniższy przykład pokazuje użycie org.apache.commons.collections4.CollectionUtils.collate()metoda. Połączymy dwie posortowane listy, a następnie wydrukujemy scaloną i posortowaną listę.

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);
   }
}

Wynik

Dane wyjściowe są następujące -

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