<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
</dependency>
示例
import org.apache.commons.collections4.CollectionUtils;
import java.util.Arrays;
import java.util.List;
/**
* 测试入口
*/
public class Test {
public static void main(String[] args) {
List<Integer> a = Arrays.asList(1, 2, 3);
List<Integer> b = Arrays.asList(1, 2, 3);
Object[] c = {1, 2, 3, 4, 5};
// 计算交集
System.out.println(CollectionUtils.intersection(a, b));
System.out.println(CollectionUtils.retainAll(a, b));
// 计算差集 (a - b) + (b - a) 的结果
System.out.println(CollectionUtils.disjunction(a, b));
// 计算差集 a - b 的结果
System.out.println(CollectionUtils.removeAll(a, b));
System.out.println(CollectionUtils.subtract(a, b));
// 计算并集 a + b 不去重的结果
System.out.println(CollectionUtils.collate(a, b));
// 计算并集 a + b 去重,排序后的结果
System.out.println(CollectionUtils.union(a, b));
// 计算元素次数映射
System.out.println(CollectionUtils.getCardinalityMap(a));
// 计算所有排列组合种类
System.out.println(CollectionUtils.permutations(a));
// 翻转数组
CollectionUtils.reverseArray(c);
System.out.println(c);
// 判断 两集合分别 数量 + 元素种类 都相同 则为 真
System.out.println(CollectionUtils.isEqualCollection(a, b));
// 判断 都不去重 b > a 则为 真
System.out.println(CollectionUtils.isProperSubCollection(a, b));
// 判断 都不去重 b >= a 则为 真
System.out.println(CollectionUtils.isSubCollection(a, b));
// 判断 分别去重 a > b 则为 真
System.out.println(CollectionUtils.containsAll(a, b));
// 判断 在 a 中存在任意一个 b 中的元素 则为 真
System.out.println(CollectionUtils.containsAny(a, b));
}
}