温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java集合如何高效实现集合的并集、交集、差集

发布时间:2024-09-25 09:54:24 来源:亿速云 阅读:78 作者:小樊 栏目:编程语言

在Java中,可以使用Set接口及其实现类(如HashSetLinkedHashSetTreeSet)来高效地实现集合的并集、交集和差集操作。以下是实现这些操作的示例代码:

  1. 并集(Union):
import java.util.HashSet;
import java.util.Set;

public class Union {
    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);

        // 使用addAll()方法将set2中的元素添加到set1中,实现并集
        set1.addAll(set2);

        // 输出并集结果
        System.out.println("并集: " + set1);
    }
}
  1. 交集(Intersection):
import java.util.HashSet;
import java.util.Set;

public class Intersection {
    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);

        // 使用retainAll()方法保留set1和set2的交集元素
        set1.retainAll(set2);

        // 输出交集结果
        System.out.println("交集: " + set1);
    }
}
  1. 差集(Difference):
import java.util.HashSet;
import java.util.Set;

public class Difference {
    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);

        // 使用removeAll()方法移除set1中与set2相同的元素,实现差集
        set1.removeAll(set2);

        // 输出差集结果
        System.out.println("差集: " + set1);
    }
}

注意:这些操作的时间复杂度取决于底层数据结构(如HashSet)的实现。在HashSet中,这些操作的时间复杂度为O(min(m, n)),其中m和n分别为两个集合的大小。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI