set与list--[交并差]

set的union,intersection,difference操作要比list的迭代要快。因此如果涉及到求list交集,并集或者差的问题可以转换为set来操作
如:

在这里插入图片描述


Edited by Eshter
Email:fang_yuu1992@126.com
版权归Eshter所有,撰于 2019/8/19

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java集合框架中提供了多个类可以用于集合的交、并、操作,其中最常用的是Set接口和List接口。下面分别介绍它们的交、并、操作。 Set集合的交、并、: 交集: ```java Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3)); Set<Integer> set2 = new HashSet<>(Arrays.asList(2, 3, 4)); set1.retainAll(set2); // set1 中仅保留 set2 中也存在的元素 System.out.println(set1); // 输出 [2, 3] ``` 并集: ```java Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3)); Set<Integer> set2 = new HashSet<>(Arrays.asList(2, 3, 4)); set1.addAll(set2); // 将 set2 中的元素添加到 set1 中 System.out.println(set1); // 输出 [1, 2, 3, 4] ``` 集: ```java Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3)); Set<Integer> set2 = new HashSet<>(Arrays.asList(2, 3, 4)); set1.removeAll(set2); // 从 set1 中删除 set2 中也存在的元素 System.out.println(set1); // 输出 [1] ``` List集合的交、并、: 交集: ```java List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3)); List<Integer> list2 = new ArrayList<>(Arrays.asList(2, 3, 4)); list1.retainAll(list2); // list1 中仅保留 list2 中也存在的元素 System.out.println(list1); // 输出 [2, 3] ``` 并集: ```java List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3)); List<Integer> list2 = new ArrayList<>(Arrays.asList(2, 3, 4)); list1.addAll(list2); // 将 list2 中的元素添加到 list1 中 System.out.println(list1); // 输出 [1, 2, 3, 2, 3, 4] ``` 集: ```java List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3)); List<Integer> list2 = new ArrayList<>(Arrays.asList(2, 3, 4)); list1.removeAll(list2); // 从 list1 中删除 list2 中也存在的元素 System.out.println(list1); // 输出 [1] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值