- Commons Collections Tutorial
- Commons Collections - Home
- Commons Collections - Overview
- Commons Collections - Environment Setup
- Commons Collections - Bag Interface
- Commons Collections - BidiMap Interface
- Commons Collections - MapIterator Interface
- Commons Collections - OrderedMap Interface
- Commons Collections - Ignore Null
- Commons Collections - Merge & Sort
- Commons Collections - Transforming Objects
- Commons Collections - Filtering Objects
- Commons Collections - Safe Empty Checks
- Commons Collections - Inclusion
- Commons Collections - Intersection
- Commons Collections - Subtraction
- Commons Collections - Union
- Commons Collections Resource
- Commons Collections - Quick Guide
- Commons Collections - Useful Resources
- Commons Collections - Discussion
Apache Commons Collections - Merge & Sort
CollectionUtils class of Apache Commons Collections library provides various utility methods for common operations covering wide range of use cases. It helps avoid writing boilerplate code. This library is very useful prior to jdk 8 as similar functionalities are now provided in Java 8's Stream API.
Merging two sorted lists
collate() method of CollectionUtils can be used to merge two already sorted lists.
Declaration
Following is the declaration for
org.apache.commons.collections4.CollectionUtils.collate() method −
public static <O extends Comparable<? super O>> List<O> collate(Iterable<? extends O> a, Iterable<? extends O> b)
Parameters
a − The first collection, must not be null.
b − The second collection, must not be null.
Return Value
A new sorted List, containing the elements of Collection a and b.
Exception
NullPointerException − If either collection is null.
Example
The following example shows the usage of org.apache.commons.collections4.CollectionUtils.collate() method. We'll merge two sorted lists and then print the merged and sorted list.
import java.util.Arrays; import java.util.List; import org.apache.commons.collections4.CollectionUtils; public class CollectionUtilsTester { 8. Apache Commons Collections — Merge & Sort 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); } }
Output
The output is as follows −
[A, B, C, D, E, F]