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
相关推荐
葡萄成熟时 !4 小时前
JAVA 常用API学习笔记
java·笔记·学习
Rain的Java大神之路5 小时前
介绍一下分布式事务
java·分布式·后端·spring·spring cloud·架构·springcloud
吴声子夜歌5 小时前
Java面试题——基础(一)
java·开发语言
南城以南溫暖如初1476 小时前
外卖CPS实战指南:从技术选型到运营落地全流程解析
java·spring boot·mysql·架构·vue
傻啦嘿哟6 小时前
英雄联盟皮肤爬虫:爬取全皮肤价格与特效,做比价工具
java·c++·爬虫
码匠许师傅7 小时前
【C++ 面试真题】24. 聊聊 C++ 的时间日期处理
java·c++·面试
mqiqe8 小时前
AgentScope Java 2.0 Agent 状态存储(AgentStateStore)深度解析:构建可恢复、可扩展的智能体运行时
java·运维·网络
zhifou1234568 小时前
java 17升级安装
java·开发语言
用户3721574261358 小时前
如何使用 Java 将 Markdown 转换为 PDF(含自定义设置)
java
用户3721574261359 小时前
如何使用 Java 在 Word 文档中添加和删除水印:分步指南
java