CollectionUtils常用方法

1.交集

java 复制代码
List<Integer> list1=Arrays.asList(1,2,3);
List<Integer> list2=Arrays.asList(3,4,5);

//list1  ∩ list2
System.out.println(CollectionUtils.intersection(list2, list1)); //[3]

2.差集

java 复制代码
List<Integer> list1=Arrays.asList(1,2,3);
List<Integer> list2=Arrays.asList(3,4,5);

//list1-list2(list1中删除list2共有数据) 
System.out.println(CollectionUtils.subtract(list1, list2));//[1,2]

//list2-list1差集(list2中删除list1共有数据)
System.out.println(CollectionUtils.subtract(list2, list1)); //[4,5]

3.并集

java 复制代码
List<Integer> list1=Arrays.asList(1,2,3);
List<Integer> list2=Arrays.asList(3,4,5);

//list1  ∪ list2
System.out.println(CollectionUtils.union(list2, list1)); //[1,2,3,4,5]

4.交集的补集

java 复制代码
List<Integer> list1=Arrays.asList(1,2,3);
List<Integer> list2=Arrays.asList(3,4,5);

// (list1 + list2) - (list1  ∪ list2)
System.out.println(CollectionUtils.disjunction(list2, list1)); //[]

5.集合元素是否相等

java 复制代码
List<Integer> list1=Arrays.asList(1,2,3);
List<Integer> list2=Arrays.asList(3,4,5);

// list1 == list2
System.out.println(CollectionUtils.isEqualCollection(list2, list1)); //false

List<Integer> list3=Arrays.asList(1,2,3);
List<Integer> list4=Arrays.asList(3,2,1);

// list3 == list4
System.out.println(CollectionUtils.isEqualCollection(list3, list4)); //true

6.集合判空

java 复制代码
List<Integer> list1=Arrays.asList(1,2,3);

System.out.println(CollectionUtils.isEmpty(list1));    //false
System.out.println(CollectionUtils.isNotEmpty(list1)); //true

7.是否包含任一

java 复制代码
List<Integer> list1 = Arrays.asList(1,2,3);
List<Integer> list2 = Arrays.asList(3,2,1);
List<Integer> list3 = Arrays.asList(3);
List<List<Integer>> all = Lists.newArrayList(list1,list2,list3);

System.out.println(CollectionUtils.containsAny(all,list1,list2));//true
System.out.println(CollectionUtils.containsAny(list1,4,5));//false
System.out.println(CollectionUtils.containsAny(list1,2,4));//true
System.out.println(CollectionUtils.containsAny(list2,list1));//true

8.是否包含全部

java 复制代码
List<Integer> list1=Arrays.asList(1,2,3);
List<Integer> list2=Arrays.asList(3,4,5);

// list1.sort() == list2.sort()
System.out.println(CollectionUtils.containsAll(list1, list2)); //false


List<Integer> list3=Arrays.asList(1,2,3);
List<Integer> list4=Arrays.asList(3,2,1);

// list3.sort() == list4.sort()
System.out.println(CollectionUtils.containsAll(list3, list4)); //true

9.是否为子集

java 复制代码
List<Integer> list1=Arrays.asList(1,2,3);
List<Integer> list2=Arrays.asList(3,4,5);

// list1.sort().contains(list2.sort())
System.out.println(CollectionUtils.isSubCollection(list1, list2)); //false


List<Integer> list3=Arrays.asList(1,2,3);
List<Integer> list4=Arrays.asList(3,2,1);

// list3.sort().contains(list4.sort())
System.out.println(CollectionUtils.isSubCollection(list3, list4)); //true
System.out.println(CollectionUtils.containsAll(list3, list4));//true
相关推荐
代码方舟1 分钟前
Java后端实战:对接天远车辆过户查询API打造自动化车况评估系统
java·开发语言·自动化
麒qiqi3 分钟前
从 C 基础到 ARM Linux 驱动开发:嵌入式开发核心知识点全解析
java·开发语言
爱怪笑的小杰杰8 分钟前
UniApp 桌面应用实现 Android 开机自启动(无原生插件版)
android·java·uni-app
念越12 分钟前
从概念到实现:深入解析七大经典排序算法
java·算法·排序算法
像少年啦飞驰点、19 分钟前
零基础入门 Spring Boot:从“Hello World”到可部署微服务的完整学习指南
java·spring boot·微服务·编程入门·后端开发
乌蒙山连着山外山20 分钟前
idea中的工程,import有问题
java·ide·intellij-idea
1candobetter26 分钟前
JAVA后端开发——Maven 依赖传递 ≠ Spring 自动装配
java·spring·maven
生命不息战斗不止(王子晗)26 分钟前
2026面试大纲 - java数据结构与集合专题
java·数据结构·面试
若鱼191928 分钟前
SpringBoot4.0新特性-Null-safety消灭空指针
java·spring
丶小鱼丶29 分钟前
并发编程之【Java中的Thread类】
java