今天要用到差集,突然懵逼了,然后脑子一抽写出了下面的代码
Set<String> set1 = new HashSet<>();
Set<String> 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<String> set1 = new HashSet<>();
Set<String> 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);
网友评论