java集合的交集,并集,差集

今天要用到差集,突然懵逼了,然后脑子一抽写出了下面的代码

        Set set1 = new HashSet<>();
        Set set2 = new HashSet<>();
        set1.add("a");
        set1.add("b");
        set1.add("c");
        set2.add("c");
        set2.add("d");
        set2.add("e");
        System.out.println(set1 & set2);

在有些语言中这样是可以求出交集的,但是在java中&是一个位运算符,不能这样用。

交集就是两个集合都有的部分,java的集合也提供了对应的方法,retainAll

求交集,并集这些还是用set集合合适点

交集

Set set1 = new HashSet<>();
        Set set2 = new HashSet<>();

        set1.add("a");
        set1.add("b");
        set1.add("c");

        set2.add("c");
        set2.add("d");
        set2.add("e");

        //交集
        set1.retainAll(set2);

        System.out.println("交集是 "+set1);
  • 这里写图片描述

并集

set1.addAll(set2);
  • 这里写图片描述

差集

set1.removeAll(set2);

这里写图片描述

你可能感兴趣的:(Java技术大全)