Apache Commons Collections - 合并和排序

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 − 第一个集合,不能为空。

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

返回值

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

异常

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

示例

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

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

输出

The output is as follows −

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