Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

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

Java 实例大全

在此示例中,我们将学习计算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()方法。

Java 实例大全