java - Java 集的并集或交集

标签 java collections set set-intersection set-union

在 Java 中创建 Set 的并集或交集的最简单方法是什么?对于这个简单的问题,我见过一些奇怪的解决方案(例如,手动迭代这两个集合)。

Union/Intersection of Java sets

最佳答案

最简单的单行解决方案是这样的:

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

关于java - Java 集的并集或交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51113134/

相关文章:

java - 从两个 Java Collection 对象中获取两个唯一值

Python:将元组附加到带有元组的集合中

java - 如何在java中的quartz调度中传递数组作为参数

java - Java 类的修饰符

android - 如何在 JUnit(非仪器化)Android 单元测试执行的代码中使用 ArrayMap?

C# 从数组集合中删除 "partial"重复项

java - 无法在 WebSphere Liberty 配置文件中为多个应用程序配置 log4j

java - 在 EAR 构建之后运行测试

java - 如果元素重复,为什么 Set.of() 会抛出 IllegalArgumentException?

c++ - 插入后对 vector 进行排序与​​插入到集合中