Java集合操作

java集合操作(并、交、差、补)
以下是本人的一点浅薄认识,欢迎各位大佬批评指出。
Set<String> set1 = new TreeSet<>();        
Set<String> set2 = new TreeSet<>();         
set1.add("user_1");       
set1.add("user_2");        
set1.add("user");         
set2.add("user");        
set2.add("user_A");        
set2.add("user_B");  
注:
HashSet 集合会调用 hashCode()和 equal()方法来实现元素对比;TreeSet 集合会调用compareTo方法来实现元素对比。TreeSet中的元素是有序且不重复的,非常适合进行集合操作。
如果集合元素是自定义的类对象,在判断重复元素的时候必须时现set集合的相应对比方法。

1.并集操作(set1∪set2):执行以后,set1中就包含set1和set2中的所有元素。

set1.addAll(set2);

2.交集操作(set1 ∩ set2):执行以后,set1中就包含set1和set2中的共有元素。retainAll方法实际执行原理是:删除set1中的“只存在于set1中,不存在于set2中”的元素。

set1.retainAll(set2);

3.差集操作(set1 - set2):执行以后,set1中就包含“只在set1中不在set2中”的元素,removeAll的执行原理:删除set1中“set1和set2共有”的元素。

set1.removeAll(set2);

4.补集操作(set1的补集):set1的补集是全集与set1的差集,即全集减去set1

//setA是set1和set2的并集
setA=set1;
setA.addAll(set2);
//setB是set1和set2的差集
setB=set1;
setB.removeAll(set2);
//setC是set1的相对补集:并集-差集
setC=setA.removeAll(setB);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值