java 4 集合运算时使用更优雅的方式

对集合进行 交集,并集,差集,无重复的并集操作,很多朋友都是习惯性的使用 遍历就可以完成这个操作,这样也能够实现,但不够优雅,请看下面的代码完成这个操作

public static void main(String[] args) {
List<String> list1 = new ArrayList<String>();
list1.add("A");
list1.add("B");
list1.add("C");
list1.add("A");
List<String> list2 = new ArrayList<String>();
list2.add("B");
list2.add("C");


// 并集
// list1.addAll(list2);


// 交集
// list1.retainAll(list2);


// 差集
// list1.removeAll(list2);


// 无重复的并集 并集是集合A加集合B,那如果集合A和集合B有交集,就需要确保并集的结果中只有
// 一份交集,这样的结果为无重复并集
// ① 删除list2中 与 list1  中有交集部分的数据
list2.removeAll(list1);
//② 把剩余的 list2 元素加到 list1 中
list1.addAll(list2);

for (String str : list1) {
System.out.println(str);
}
}
注:

在实现 无重复交集的时候,不能采用  Set 方法完成这个任务,因为如果 集合1中已经有了重复的元素,使用Set 集合 会将 集合1 中的重复的元素进行删除,这样的将结果就不是无重复交集的结果了,无重复交集的结果,是删除 集合1 和集合2中 有交集部分的数据 只出现一次,不含对  集合本身数据的  操作




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值