例一: 计算两个集合的交集
import java.util.HashSet; import java.util.Set; class Main { public static void main(String[] args) { // create first set Set<Integer> primeNumbers = new HashSet<>(); primeNumbers.add(2); primeNumbers.add(3); System.out.println("Prime Numbers: " + primeNumbers); // create second set Set<Integer> 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<String> backend = new HashSet<>(); backend.add("Java"); backend.add("JavaScript"); System.out.println("Backend Languages: " + backend); // create second set Set<String> frontend = new HashSet<>(); frontend.add("JavaScript"); frontend.add("CSS"); System.out.println("Frontend Languages: " + frontend); Set<String> intersect = Sets.intersection(backend, frontend); System.out.println("Common Languages: " + intersect); } }
输出
Backend Languages: [Java, JavaScript] Frontend Languages: [JavaScript, CSS] Common Languages: [JavaScript]
在上面的例子中,我们使用了Guava library来得到两个集合的交集.为了运行这个程序,你需要通过将它添加到你的依赖项中来实现 Guava 库。
这里,我们使用了 intersection() 方法">设置类存在于番石榴库中。