示例1:计算两个集合的交集
import java.util.HashSet;
import java.util.Set;
class Main {
public static void main(String[] args) {
// create first set
Set primeNumbers = new HashSet<>();
primeNumbers.add(2);
primeNumbers.add(3);
System.out.println("Prime Numbers: " + primeNumbers);
// create second set
Set evenNumbers = new HashSet<>();
evenNumbers.add(2);
evenNumbers.add(4);
System.out.println("Even Numbers: " + evenNumbers);
// Intersection of two sets
evenNumbers.retainAll(primeNumbers);
System.out.println("Intersection: " + evenNumbers);
}
}
输出
Prime Numbers: [2, 3]
Even Numbers: [2, 4]
Intersection: [2]
在上面的示例中,我们创建了两个名为primeNumbers和evenNumbers的集合 。我们已经使用HashSet
类实现了该集合。注意这一行,
evenNumbers.retainAll(primeNumbers);
在这里,我们使用了retainAll()
方法来获取两个集合的交集。
示例2:使用Guava库获取两个集合的并集
import java.util.HashSet;
import java.util.Set;
import com.google.common.collect.Sets;
class Main {
public static void main(String[] args) {
// create the first set
Set backend = new HashSet<>();
backend.add("Java");
backend.add("JavaScript");
System.out.println("Backend Languages: " + backend);
// create second set
Set frontend = new HashSet<>();
frontend.add("JavaScript");
frontend.add("CSS");
System.out.println("Frontend Languages: " + frontend);
Set intersect = Sets.intersection(backend, frontend);
System.out.println("Common Languages: " + intersect);
}
}
输出
Backend Languages: [Java, JavaScript]
Frontend Languages: [JavaScript, CSS]
Common Languages: [JavaScript]
在上面的示例中,我们使用了Guava库来获取两个集合的交集。为了运行该程序,您需要通过将Guava库添加到依赖项中来实现它。
在这里,我们使用了Guava库中存在的Sets类的intersection()
方法。