鍍金池/ 教程/ Linux/ Apache通用集合差集
Apache Commons Collections教程
Apache通用集合開發(fā)環(huán)境
Apache通用集合過濾對象
Commons Collections簡介
Apache通用集合聯(lián)合
Apache OrderedMap接口
Apache通用集合Bag接口
Apache通用集合安全空檢查
Apache通用集合差集
Apache通用集合包函關(guān)系
Apache通用集合BidiMap接口
Apache通用集合相交
Apache通用集合轉(zhuǎn)換對象
Apache通用集合合并與排序
Apache通用集合忽略Null
Apache通用集合MapIterator接口

Apache通用集合差集

Apache Commons Collections庫的CollectionUtils類提供各種實(shí)用方法,用于覆蓋廣泛用例的常見操作。 它有助于避免編寫樣板代碼。 這個庫在jdk 8之前是非常有用的,但現(xiàn)在Java 8的Stream API提供了類似的功能。

差集-一般地,記A,B是兩個集合,則所有屬于A且不屬于B的元素構(gòu)成的集合,叫做集合A減集合B(或集合A與集合B之差)。

求差集

CollectionUtils的subtract()方法可用于通過從其他集合中減去一個集合的對象來獲取新集合。

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

public static <O> Collection<O> subtract(Iterable<? extends O> a,
   Iterable<? extends O> b)

參數(shù)

  • a - 要從中減去的集合,不能為null。
  • b - 要減去的集合,不能為null。

返回值

兩個集合的差集(新集合)。

示例

以下示例顯示org.apache.commons.collections4.CollectionUtils.subtract()方法的用法。在此示例中將得到兩個列表的差集。

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("List 1 - List 2: " 
         + CollectionUtils.subtract(list1, list2));
   }
}

執(zhí)行上面示例代碼,得到以下結(jié)果 -

List 1: [A, A, A, C, B, B]
List 2: [A, A, B, B]
List 1 - List 2: [A, C]