首页 > 解决方案 > Java 集的并集或交集

问题描述

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

Java 集的并集/交集

标签: javacollectionssetset-intersectionset-union

解决方案


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

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

推荐阅读