Apache通用集合合併與排序
Apache Commons Collections庫的CollectionUtils
類提供各種實用方法,用於覆蓋廣泛用例的常見操作。 它有助於避免編寫樣板代碼。 這個庫在jdk 8之前是非常有用的,但現在Java 8的Stream API提供了類似的功能。
合併兩個排序列表
CollectionUtils的collate()
方法可用於合併兩個已排序的列表。
聲明
以下是org.apache.commons.collections4.CollectionUtils.collate()
方法的聲明 -
public static <O extends Comparable<? super O>> List<O>
collate(Iterable<? extends O> a, Iterable<? extends O> b)
參數
- a - 第一個集合,不能爲
null
。 - b - 第二個集合不能爲
null
。
返回值
- 一個新的排序列表,其中包含集合
a
和b
的元素。
異常
-
NullPointerException
- 如果其中一個集合爲null
。
示例
以下示例顯示了用法org.apache.commons.collections4.CollectionUtils.collate()
方法。
我們將合併兩個已排序的列表,然後打印已合併和已排序的列表。
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);
}
}
執行上面示例代碼,得到以下結果 -
[A, B, C, D, E, F]