Java8集合取交集

在Java编程中,集合操作是非常常见的操作之一,其中取两个集合的交集也是一个比较常见的需求。在Java8中,我们可以使用Stream API来方便地取集合的交集。本文将介绍如何使用Java8来取两个集合的交集,并给出相应的代码示例。

流程图

flowchart TD
    Start --> A(创建集合A)
    A --> B(创建集合B)
    B --> C(使用Stream API取交集)
    C --> D(输出交集)

代码示例

import java.util.HashSet;
import java.util.Set;
import java.util.stream.Collectors;

public class IntersectionExample {
    public static void main(String[] args) {
        // 创建集合A
        Set<Integer> setA = new HashSet<>();
        setA.add(1);
        setA.add(2);
        setA.add(3);

        // 创建集合B
        Set<Integer> setB = new HashSet<>();
        setB.add(2);
        setB.add(3);
        setB.add(4);

        // 使用Stream API取交集
        Set<Integer> intersection = setA.stream()
                                        .filter(setB::contains)
                                        .collect(Collectors.toSet());

        // 输出交集
        System.out.println("交集为:" + intersection);
    }
}

代码解释

  1. 首先,我们创建了两个HashSet集合setA和setB,分别包含了一些整数元素。
  2. 然后,我们使用Stream API对集合setA进行操作,通过filter方法过滤出那些同时存在于集合setB中的元素,最终使用collect方法将这些元素收集到一个新的集合中。
  3. 最后,我们输出取得的交集。

总结

通过上面的代码示例,我们可以看到使用Java8的Stream API来取两个集合的交集非常简单和方便。只需要几行代码就可以完成这个任务,使得集合操作更加高效和便捷。希望本文对你有所帮助,谢谢阅读!