Java 程序:计算两个集合的交集
要理解这个示例,你需要了解以下 Java 编程 主题:
示例 1:计算两个集合的交集
import java.util.HashSet;
import java.util.Set;
class Main {
public static void main(String[] args) {
// 创建第一个集合
Set<Integer> primeNumbers = new HashSet<>();
primeNumbers.add(2);
primeNumbers.add(3);
System.out.println("质数集: " + primeNumbers);
// 创建第二个集合
Set<Integer> evenNumbers = new HashSet<>();
evenNumbers.add(2);
evenNumbers.add(4);
System.out.println("偶数集: " + evenNumbers);
// 计算两个集合的交集
evenNumbers.retainAll(primeNumbers);
System.out.println("交集: " + evenNumbers);
}
}
输出
质数集: [2, 3]
偶数集: [2, 4]
交集: [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) {
// 创建第一个集合
Set<String> backend = new HashSet<>();
backend.add("Java");
backend.add("JavaScript");
System.out.println("后端语言集: " + backend);
// 创建第 二个集合
Set<String> frontend = new HashSet<>();
frontend.add("JavaScript");
frontend.add("CSS");
System.out.println("前端语言集: " + frontend);
Set<String> intersect = Sets.intersection(backend, frontend);
System.out.println("共有语言集: " + intersect);
}
}
输出
后端语言集: [Java, JavaScript]
前端语言集: [JavaScript, CSS]
共有语言集: [JavaScript]
在上面的示例中,我们使用了 Guava 库 来计算两个集合的交集。为了运行这个程序,你需要通过添加它到你的依赖中来实现 Guava 库。
这里,我们使用了 Guava 库中 Sets 类 的 intersection()
方法。