java 2个集合求交集
时间: 2024-05-12 11:19:01 浏览: 100
可以使用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中,我们可以使用集合框架提供的`intersection()`或者`retainAll()`方法来找到两个集合的交集。以下是两种常见方法:
1. **使用`retainAll()`**:
```java
List<String> list1 = new ArrayList<>(Arrays.asList("a", "b", "c", "d"));
List<String> list2 = new ArrayList<>(Arrays.asList("b", "c", "e"));
// 使用 retainAll() 方法找出交集
list1.retainAll(list2);
System.out.println("Intersection: " + list1); // 输出: [b, c]
```
这里,`retainAll()`会从第一个列表删除所有不在第二个列表中的元素,剩下的就是它们的交集。
2. **使用`stream()`和`filter()`**:
```java
Set<String> set1 = new HashSet<>(Arrays.asList("a", "b", "c", "d"));
Set<String> set2 = new HashSet<>(Arrays.asList("b", "c", "e"));
// 使用 Stream API 寻找交集
set1.retainAll(set2.stream());
System.out.println("Intersection (Set): " + set1); // 输出: [b, c]
// 如果你想保持列表形式,可以转换回 List
List<String> listIntersection = set1.stream().collect(Collectors.toList());
System.out.println("Intersection (List): " + listIntersection); // 输出: [b, c]
```
这两种方法都会返回包含两个集合公共元素的结果。
Java写写一个两个集合求交集的
代码示例:
```java
import java.util.*;
public class Intersection {
public static void main(String[] args) {
Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
Set<Integer> set2 = new HashSet<>(Arrays.asList(3, 4, 5, 6, 7));
Set<Integer> intersection = new HashSet<>(set1);
intersection.retainAll(set2);
System.out.println("Set 1: " + set1);
System.out.println("Set 2: " + set2);
System.out.println("Intersection: " + intersection);
}
}
```
输出结果:
```
Set 1: [1, 2, 3, 4, 5]
Set 2: [3, 4, 5, 6, 7]
Intersection: [3, 4, 5]
```
说明:
1. 创建两个 Set 对象 set1 和 set2,分别初始化为包含一些整数的 HashSet 对象。
2. 使用 retainAll() 方法获取两个集合的交集,并将结果保存到一个新的 HashSet 对象 intersection 中。
3. 输出集合 set1、set2 和 intersection 的元素。
阅读全文