我有两个集合,我想要得到集合A和集合B的交集的集合C,用stream实现
时间: 2024-06-08 17:08:30 浏览: 110
Linq两个List集合取交集的实现
5星 · 资源好评率100%
可以使用Java 8中的Stream API来实现集合A和集合B的交集。具体实现如下:
```java
Set<Integer> setA = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
Set<Integer> setB = new HashSet<>(Arrays.asList(4, 5, 6, 7, 8));
Set<Integer> setC = setA.stream()
.filter(setB::contains)
.collect(Collectors.toSet());
System.out.println(setC); // 输出 [4, 5]
```
首先将集合A和集合B转换成Set类型,然后使用`stream()`方法将Set转换为Stream。接着,使用`filter()`方法对集合A中的每个元素进行筛选,保留在集合B中也存在的元素。最后,使用`collect()`方法将筛选出来的元素收集到一个新的Set集合中。
阅读全文