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]

相关推荐
星辰烈龙几秒前
黑马程序员JavaSE基础加强d6
java·开发语言
电商API&Tina1 分钟前
电商数据采集 API:驱动选品、定价、运营的数据分析核心引擎
大数据·开发语言·人工智能·python·数据分析·json
亓才孓1 分钟前
JUnit--Before,After,Test标签
java·junit·log4j
susu10830189111 分钟前
maven-3.9.12的conf配置settings.xml
xml·java·maven
半路程序员2 分钟前
Go内存泄漏排查pprof和trace使用
开发语言·后端·golang
沐知全栈开发3 分钟前
PHP MySQL 插入数据
开发语言
WongLeer4 分钟前
Go + GORM 多级分类实现方案对比:内存建树、循环查询与 Preload
开发语言·后端·mysql·golang·gorm
一直都在5724 分钟前
MyBatis入门:CRUD、参数处理与防 SQL 注入
java·sql·mybatis
weixin_399380699 分钟前
TongWeb+TongDataGrid+TongHttpServer实现Session复制
java·tomcat
青云交9 分钟前
Java 大视界 -- Java+Flink CDC 构建实时数据同步系统:从 MySQL 到 Hive 全增量同步(443)
java·mysql·flink·实时数据同步·java+flink cdc·mysql→hive·全增量同步