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]

相关推荐
Han.miracle2 小时前
数据结构——二叉树的从前序与中序遍历序列构造二叉树
java·数据结构·学习·算法·leetcode
北冥湖畔的燕雀3 小时前
C++泛型编程(函数模板以及类模板)
开发语言·c++
Le1Yu3 小时前
分布式事务以及Seata(XA、AT模式)
java
寒山李白4 小时前
关于Java项目构建/配置工具方式(Gradle-Groovy、Gradle-Kotlin、Maven)的区别于选择
java·kotlin·gradle·maven
QX_hao4 小时前
【Go】--map和struct数据类型
开发语言·后端·golang
你好,我叫C小白4 小时前
C语言 循环结构(1)
c语言·开发语言·算法·while·do...while
无妄无望4 小时前
docker学习(4)容器的生命周期与资源控制
java·学习·docker
MC丶科5 小时前
【SpringBoot 快速上手实战系列】5 分钟用 Spring Boot 搭建一个用户管理系统(含前后端分离)!新手也能一次跑通!
java·vue.js·spring boot·后端
千码君20165 小时前
React Native:从react的解构看编程众多语言中的解构
java·javascript·python·react native·react.js·解包·解构
夜白宋6 小时前
【word多文档docx合并】
java·word