行业资讯 2025年08月6日
0 收藏 0 点赞 753 浏览 910 个字
摘要 :

文章目录 1.使用HashSet求数组并集 2.使用Java 8 Stream求数组并集 学会使用HashSet和Stream API在Java中找到两个数组的并集。在集合论中,一组集合的并集(用U表示)……




  • 1.使用HashSet求数组并集
  • 2.使用Java 8 Stream求数组并集

学会使用HashSet和Stream API在Java中找到两个数组的并集。在集合论中,一组集合的并集(用U表示)是该集合中所有元素的集合。

例如,两个数组A和B的并集是所有在A中、在B中或在A和B中都存在的元素的集合。Java中计算两个数组的并集

1.使用HashSet求数组并集

要获取两个数组的并集,请按照以下步骤进行操作:

  • 将第一个数组推入HashSet实例中。
  • 使用addAll()方法将第二个数组中的元素添加到集合中。
  • 同样,将更多数组的所有元素添加到集合中(如果有的话)。
  • Java程序可获取两个整数数组之间的并集并打印输出。
Integer[] arr1 = {0, 2};
Integer[] arr2 = {1, 3};
HashSet<Integer> set = new HashSet<>();
set.addAll(Arrays.asList(arr1));
set.addAll(Arrays.asList(arr2));
Assertions.assertEquals(Set.of(0, 1, 2, 3), set);
//如果有需要转为数组
Integer[] union = set.toArray(new Integer[0]);
Assertions.assertArrayEquals(new Integer[]{0, 1, 2, 3}, union);

2.使用Java 8 Stream求数组并集

我们可以使用流API迭代两个流中的元素,并使用flatMap()将两个数组中的项规范化到单个流中,然后将其收集到新的数组中。

使用流可以使我们在同一流管道中对并集项执行其他操作,并将结果收集到各种目标类型中。

Integer[] arr1 = {0, 2};
Integer[] arr2 = {1, 3};

Integer[] union = Stream.of(arr1, arr2)
        .flatMap(Stream::of)
        .toArray(Integer[]::new);

Assertions.assertArrayEquals(new Integer[]{0, 1, 2, 3}, union);

以上就是Java中计算两个数组的并集的两种常用方法。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/9281.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号