java - Java 集的并集或交集
问题描述
Set
在 Java中创建联合或交集的最简单方法是什么?对于这个简单的问题,我已经看到了一些奇怪的解决方案(例如,手动迭代这两个集合)。
解决方案
最简单的单行解决方案是这样的:
set1.addAll(set2); // Union
set1.retainAll(set2); // Intersection
上述解决方案是破坏性的,这意味着我改变了原始set1的内容。
如果您不想接触现有的集合,请创建一个新集合:
var result = new HashSet<>(set1); // In Java 10 and above
Set<Integer> result = new HashSet<>(set1); // In Java < 10
result.addAll(set2); // Union
result.retainAll(set2); // Intersection
推荐阅读
- r - 过滤逻辑列
- python - 如何在for循环中相互叠加图像?
- visual-studio - 在 Visual Studio 2019 中发生第一个异常时中断
- python - 使用 Flask 将 CSV 文件显示为 HTML 页面
- sql-server - Wrapper TSQL 表值函数很慢
- php - 使用 PHP 的 YouTube API 出现“无效代码”错误
- javascript - VueJS 和 Ant Design - 更新输入字段
- mysql - MySQL - 相同的 SQL 查询很快,但在存储过程中很慢?
- javascript - 访问 Json 上的特定数据 - NodeJS
- c# - 为什么 MSBuild 在 Directory.Build.props 中找不到我的常量?