java 集合取交集

1.使用retainAll()方法:

List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3));

List<Integer> list2 = new ArrayList<>(Arrays.asList(2, 3, 4));

list1.retainAll(list2);

System.out.println(list1); // 输出 [2, 3]

Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3));

Set<Integer> set2 = new HashSet<>(Arrays.asList(2, 3, 4));

set1.retainAll(set2);

System.out.println(set1); // 输出 [2, 3]

2.使用Java 8的stream的filter方法和collect方法:

List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3));
List<Integer> list2 = new ArrayList<>(Arrays.asList(2, 3, 4));
List<Integer> intersection = list1.stream().filter(e -> list2.contains(e)).collect(Collectors.toList());
System.out.println(intersection); // 输出 [2, 3]

相关推荐
2301_805054569 分钟前
Python训练营打卡Day59(2025.7.3)
开发语言·python
snoopyfly~9 分钟前
Ubuntu 24.04 LTS 服务器配置:安装 JDK、Nginx、Redis。
java·服务器·ubuntu
lsx20240632 分钟前
CSS 网页布局:从基础到进阶
开发语言
挺菜的35 分钟前
【算法刷题记录(简单题)003】统计大写字母个数(java代码实现)
java·数据结构·算法
蜗牛沐雨36 分钟前
警惕 Rust 字符串的性能陷阱:`chars().nth()` 的深坑与高效之道
开发语言·后端·rust
2401_858286111 小时前
125.【C语言】数据结构之归并排序递归解法
c语言·开发语言·数据结构·算法·排序算法·归并排序
掘金-我是哪吒1 小时前
分布式微服务系统架构第156集:JavaPlus技术文档平台日更-Java线程池使用指南
java·分布式·微服务·云原生·架构
亲爱的非洲野猪2 小时前
Kafka消息积压的多维度解决方案:超越简单扩容的完整策略
java·分布式·中间件·kafka
wfsm2 小时前
spring事件使用
java·后端·spring
guygg882 小时前
基于matlab的FIR滤波器
开发语言·算法·matlab