java 不同对象 stream 交集
时间: 2025-01-16 12:12:51 浏览: 34
### 使用 Java Stream API 计算不同对象集合之间的交集
对于两个 `List<String>` 类型的列表,可以通过 Java 的 Stream API 来找出它们之间存在的交集。具体实现方式如下所示:
```java
import java.util.List;
import java.util.Arrays;
import java.util.stream.Collectors;
public class IntersectionExample {
public static void main(String[] args) {
List<String> list1 = Arrays.asList("apple", "banana", "orange");
List<String> list2 = Arrays.asList("grape", "banana", "apple");
List<String> intersection = list1.stream()
.filter(item -> list2.contains(item))
.distinct() // Ensure uniqueness in result
.collect(Collectors.toList());
System.out.println(intersection); // Output: [apple, banana]
}
}
```
上述代码片段展示了如何利用流的操作方法 `.stream()` 将第一个列表转换成一个流;接着调用过滤器 `.filter()` 方法并传入 lambda 表达式作为参数来筛选存在于第二个列表中的元素;最后采用收集器 `.collect(Collectors.toList())` 把匹配的结果重新组合回一个新的列表形式[^1]。
为了提高性能和效率,在实际开发过程中还可以考虑使用其他高性能计算库所提供的数据结构或工具类,比如 Eclipse Collections 或 fastutil 库等,这些库提供了针对不同类型优化过的集合实现[^2]。
阅读全文
相关推荐


















