java 2个集合求交集
时间: 2024-05-12 17:19:01 浏览: 22
可以使用Java中的retainAll()方法来求两个集合的交集。该方法会修改调用它的集合,使其只包含与指定集合相交的元素。示例代码如下:
```
Set<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);
Set<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);
set2.add(4);
set1.retainAll(set2); // 求交集
System.out.println(set1); // 输出 [2, 3]
```
以上代码中,先创建了两个HashSet集合set1和set2,分别添加了一些元素。然后,调用set1的retainAll()方法,传入set2作为参数,求两个集合的交集,并将结果保存在set1中。最后,输出set1中的元素,即为两个集合的交集。
相关问题
java求两个集合的交集
你可以使用 Java 中的 Collection 类中的 retainAll() 方法来求两个集合的交集。例如:
```java
List<String> list1 = new ArrayList<>(Arrays.asList("a", "b", "c"));
List<String> list2 = new ArrayList<>(Arrays.asList("b", "c", "d"));
list1.retainAll(list2); // 求交集
System.out.println(list1); // 输出 [b, c]
```
这里我们将两个 List 集合转换成了 ArrayList 对象,并使用 retainAll() 方法求它们的交集。结果输出 [b, c],即为两个集合的交集。
Java中求多个集合的交集
在Java中,要求多个集合的交集,你可以使用`retainAll()`方法来实现。`retainAll()`方法会修改调用它的集合,使其只保留与指定集合中相同的元素,即求交集。
下面是一个示例代码,演示如何求多个集合的交集:
```java
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Main {
public static void main(String[] args) {
// 创建多个集合
Set<Integer> set1 = new HashSet<>();
Set<Integer> set2 = new HashSet<>();
Set<Integer> set3 = new HashSet<>();
// 添加元素到集合
set1.add(1);
set1.add(2);
set1.add(3);
set2.add(2);
set2.add(3);
set2.add(4);
set3.add(3);
set3.add(4);
set3.add(5);
// 创建一个列表来存储所有集合
List<Set<Integer>> sets = new ArrayList<>();
sets.add(set1);
sets.add(set2);
sets.add(set3);
// 求交集
Set<Integer> intersection = new HashSet<>(sets.get(0));
for (Set<Integer> set : sets) {
intersection.retainAll(set);
}
System.out.println(intersection); // 输出交集
}
}
```
在这个示例中,我们创建了三个不同的集合`set1`、`set2`和`set3`,并将它们添加到列表`sets`中。然后,我们使用`retainAll()`方法求出这些集合的交集,并将结果存储在`intersection`集合中。最后,我们输出交集的内容。
希望这个示例能解决你的问题!如果你还有其他疑问,请随时提问。