Apache通用集合差集
Apache Commons Collections庫的CollectionUtils
類提供各種實用方法,用於覆蓋廣泛用例的常見操作。 它有助於避免編寫樣板代碼。 這個庫在jdk 8之前是非常有用的,但現在Java 8的Stream API提供了類似的功能。
差集-一般地,記A,B是兩個集合,則所有屬於A且不屬於B的元素構成的集合,叫做集合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)
參數
-
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));
}
}
執行上面示例代碼,得到以下結果 -
List 1: [A, A, A, C, B, B]
List 2: [A, A, B, B]
List 1 - List 2: [A, C]