Apache Commons Collections - 合并和排序


Apache Commons Collections 库的 CollectionUtils 类为涵盖广泛用例的常见操作提供了各种实用方法。它有助于避免编写样板代码。该库在 jdk 8 之前非常有用,因为 Java 8 的 Stream API 现在提供了类似的功能。

合并两个排序列表

CollectionUtils 的 collat​​e() 方法可用于合并两个已排序的列表。

宣言

以下是声明

org.apache.commons.collections4.CollectionUtils.collat​​e()方法 -

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

参数

  • a - 第一个集合不能为空。

  • b - 第二个集合不能为空。

返回值

一个新的排序列表,包含集合 a 和 b 的元素。

例外

  • NullPointerException - 如果任一集合为空。

例子

以下示例显示了org.apache.commons.collections4.CollectionUtils.collat​​e()方法的用法。我们将合并两个排序列表,然后打印合并和排序的列表。

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

输出

输出如下 -

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