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
相关推荐
wuminyu2 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
蜗牛互联网5 小时前
WSL Containers GA:本地AI容器的生命周期、网络与治理验收
java·网络·人工智能·后端
龙亘川5 小时前
铭记英烈守初心,数字强基促服务:亘川智城退役军人服务系统的实践与价值
java·数据库·人工智能
OxYGC5 小时前
[AI工程] Spring AI 第廿一篇:存量 REST 接口的 MCP 化改造实录——工具从哪条路径注册、参数描述怎么写、身份怎么过去
java·人工智能·spring
Zhou1411366 小时前
SpringBoot_02_自动配置原理
java·spring boot·后端
FYKJ_20106 小时前
SSM校园失物招领系统41452-计算机课程设计、毕业设计
java·vue.js·spring boot·python·mysql·typescript·spark
kv1106 小时前
Android studio国内开发有关
java·数据库·android studio
卓怡学长6 小时前
w198基于springboot始于足下健康打卡平台的设计与实现
java·spring boot·spring·intellij-idea
阿狗童鞋7 小时前
Java并发编程实战指南
java·开发语言
Joe_Wang57 小时前
【从0到1学习JVM · 15】对象在堆里来回倒腾,究竟怎样才会进老年代?
java·jvm·学习·垃圾回收