Java 判断一个集合中是否存在另外一个集合的元素

java 取交集方法retainAll

有两个集合newCoures和oldCourses,判断这两个集合是否包含相同的对象或元素,

可以使用retainAll方法:oldCourses.retainAll(newCoures)。

如果存在相同元素,oldCourses中仅保留相同的元素。

如果不存在相同元素,oldCourse会变为空。

如果有多个集合oldCourses1、oldCourses2、oldCourses3等,分别与newCourses比较,应该将newCourses统一放在后面,像这样:

oldCourses1.retainAll(newCoures);

oldCourses2.retainAll(newCoures);

oldCourses3.retainAll(newCoures);

public class Test {

    public static void main(String[] args) {

        List<String> list1 = new ArrayList<String>();
        List<String> list2 = new ArrayList<String>();
        List<String> list3 = new ArrayList<String>();
        for (int i = 0; i < 20; i++) {
            list1.add(i+"");
            if(i%2 == 0) {
                list2.add(i+"");
            }
            list3.add(i+"@");
        }
        // list1 与 list2 存在相同元素,list1集合只保留list2中存在的元素
        list1.retainAll(list2);
        if(list1.isEmpty()) {
            System.out.println("不包含");
        } else {
            System.out.println("包含");
        }
        System.out.println(list1);
        // list1 与 list3 不存在相同元素,list1集合变为空
        list1.retainAll(list3);
        if(list1.isEmpty()) {
            System.out.println("不包含");
        } else {
            System.out.println("包含");
        }
        System.out.println(list1);
    }
}

运行结果如下:

查看出处:lanxin0802

----------------------------java 两个list 交集 并集 差集 去重复并集---------------------------

List<String> list1 =new ArrayList<String>();
list1.add("A");
list1.add("B);

List<String> list2 =new ArrayList<String>();
list2.add("B");

list2.add("C");

1.并集

list1.addAll(list2);

运行结果:A, B, B, C

2.无重复并集
list2.removeAll(list1);
list1.addAll(list2);

运行结果:A, B, C

3.交集

list1.retainAll(list2);

运行结果: B

4.差集
list1.removeAll(list2);

运行结果:A

注意:如果不理解怎么打印,可以粘贴方法去菜鸟教程,查看详细使用步骤。

看出处:n_meng

  • 7
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值