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]