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
相关推荐
用户7406696136251 小时前
入门并理解Java模块化系统(JPMS)
java
金銀銅鐵1 小时前
[Java] 用 Swing 生成一个最大公约数计算器
java·后端
小安同学iter1 小时前
SQL50+Hot100系列(11.7)
java·算法·leetcode·hot100·sql50
yivifu1 小时前
JavaScript Selection API详解
java·前端·javascript
zizisuo1 小时前
16000+字!Java集合笔记
java·开发语言
BeingACoder1 小时前
【SAA】SpringAI Alibaba学习笔记(二):提示词Prompt
java·人工智能·spring boot·笔记·prompt·saa·springai
熊猫钓鱼>_>2 小时前
Java面向对象核心面试技术考点深度解析
java·开发语言·面试·面向对象··class·oop
黄暄2 小时前
微服务面试题(14题)
java·spring cloud·微服务·架构·java-rabbitmq·java-zookeeper
DKPT2 小时前
如何设置JVM参数避开直接内存溢出的坑?
java·开发语言·jvm·笔记·学习
萤丰信息2 小时前
智慧园区系统:开启园区管理与运营的新时代
java·大数据·人工智能·安全·智慧城市·智慧园区