Java 程序来计算两个集合的交集

要理解此示例,您应该具备以下 Java 编程的知识:

示例 1:计算两个集合的交集

import java.util.HashSet;
import java.util.Set;

public 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]

在上面的例子中,我们创建了两个名为 primeNumbersevenNumbers 的集合. 我们已经使用 HashSet 类实现了集合。注意这一行,

evenNumbers.retainAll(primeNumbers);

在这里,我们使用了 retainAll() 方法来获得两个集合的交集。

示例 2:使用 Guava 库获取两个集合的并集

import java.util.HashSet;
import java.util.Set;
import com.google.common.collect.Sets;

public 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 库来获取两个集合的交集。为了运行这个程序,你需要通过将它添加到你的依赖项中来实现 Guava 库。

在这里,我们使用了 Guava 库中 Setsintersection() 方法。