Apache通用集合包函关系

Apache通用集合包函关系

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

检查子列表

CollectionUtils的isSubCollection()方法可用于检查集合是否包含给定集合。

声明
以下是org.apache.commons.collections4.CollectionUtils.isSubCollection()方法的声明 -

public static boolean isSubCollection(Collection<?> a,
   Collection<?> b)

参数

  • a - 第一个(子)集合不能为空。
  • b - 第二个(超集)集合不能为空。

当且仅当ab的子集合时才为true

示例

以下示例显示org.apache.commons.collections4.CollectionUtils.isSubCollection()方法的用法。 这个示例中将检查一个列表是否是另一个列表的一部分。

import java.util.Arrays;
import java.util.List;

import org.apache.commons.collections4.CollectionUtils;

public class CollectionUtilsTester {
   public static void main(String[] args) {
      //checking inclusion
      List<String> list1 = Arrays.asList("A","A","A","C","B","B");
      List<String> list2 = Arrays.asList("A","A","B","B");

      System.out.println("List 1: " + list1);
      System.out.println("List 2: " + list2);
      System.out.println("Is List 2 contained in List 1: " 
         + CollectionUtils.isSubCollection(list2, list1));
   }
}

执行上面示例代码,得到以下结果 -

List 1: [A, A, A, C, B, B]
List 2: [A, A, B, B]
Is List 2 contained in List 1: true