深入了解Java中的Set集合:求并集与交集操作

在Java中,Set是一种集合类,它可以存储不重复的元素。Set集合提供了丰富的操作方法来处理集合中的元素,其中包括求并集和交集等操作。在本文中,我们将深入探讨如何使用Set集合来求并集和交集,并通过代码示例来演示这些操作。

Set集合概述

Set是Java中的一种集合类,它继承自Collection接口,主要用于存储不重复的元素。Set集合中的元素是无序的,不允许重复。常见的Set实现类包括HashSet、LinkedHashSet和TreeSet等。

Set集合的特点包括:

  • 不允许重复元素
  • 元素是无序的
  • 可以包含null元素

Set集合的常用操作

Set集合提供了丰富的操作方法来处理集合中的元素,其中包括添加元素、删除元素、判断元素是否存在等操作。下面是Set集合中常用的方法:

  • add(E e): 向集合中添加元素
  • remove(Object o): 删除集合中指定元素
  • contains(Object o): 判断集合中是否包含指定元素
  • size(): 返回集合中元素的个数
  • isEmpty(): 判断集合是否为空
  • clear(): 清空集合中的元素

求并集操作

求两个Set集合的并集,即将两个集合中的所有元素合并成一个新的集合。在Java中,可以使用addAll方法来实现求并集操作。下面是一个代码示例:

Set<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);

Set<Integer> set2 = new HashSet<>();
set2.add(3);
set2.add(4);
set2.add(5);

Set<Integer> union = new HashSet<>(set1);
union.addAll(set2);

System.out.println("并集结果:" + union);

上面的代码中,我们首先创建了两个Set集合set1和set2,然后通过addAll方法将这两个集合合并成一个新的集合union,最终输出并集结果。

求交集操作

求两个Set集合的交集,即找出两个集合中共同存在的元素。在Java中,可以使用retainAll方法来实现求交集操作。下面是一个代码示例:

Set<Character> set3 = new HashSet<>();
set3.add('a');
set3.add('b');
set3.add('c');

Set<Character> set4 = new HashSet<>();
set4.add('b');
set4.add('c');
set4.add('d');

Set<Character> intersection = new HashSet<>(set3);
intersection.retainAll(set4);

System.out.println("交集结果:" + intersection);

上面的代码中,我们首先创建了两个Set集合set3和set4,然后通过retainAll方法找出这两个集合中共同存在的元素,最终输出交集结果。

完整示例

下面是一个完整的示例,演示了如何使用Set集合来求并集和交集:

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

public class SetExample {
    public static void main(String[] args) {
        Set<Integer> set1 = new HashSet<>();
        set1.add(1);
        set1.add(2);
        set1.add(3);

        Set<Integer> set2 = new HashSet<>();
        set2.add(3);
        set2.add(4);
        set2.add(5);

        Set<Integer> union = new HashSet<>(set1);
        union.addAll(set2);

        System.out.println("并集结果:" + union);

        Set<Character> set3 = new HashSet<>();
        set3.add('a');
        set3.add('b');
        set3.add('c');

        Set<Character> set4 = new HashSet<>();
        set4.add('b');
        set4.add('c');
        set4.add('d');

        Set<Character> intersection = new HashSet<>(set3);
        intersection.retainAll(set4);

        System.out.println("交集结果:" + intersection);
    }
}

上面的示例代码中,我们首先创建了两个Set集合set1、set2和set3、set4,然后分别对这两对集合求并集和交集,并