当前位置: 首页 > news >正文

开发避坑指南(45):Java Stream 求两个List的元素交集

需求

java 中如何用stream求两个List元素的交集?

代码实现

直接上代码

public class ListTest {public static void main(String[] args) {List<Integer> list1 = new ArrayList<>();list1.add(1);list1.add(2);list1.add(3);List<Integer> list2 = new ArrayList<>();list2.add(4);list2.add(5);list2.add(3);list2.add(2);//求元素交集List<Integer> intersectionList = list1.stream().filter(list2::contains).collect(Collectors.toList());intersectionList.forEach(System.out::println);}
}

输出结果是2和3。

语法说明

(1).stream()表示返回一个以本集合为数据源的顺序流。

(2).filter()表示返回由当前流中符合给定谓词条件的元素组成的新流。参数可以是一个Lambda表达式或方法引用。

(3)list2::contains用于定于过滤条件。该写法是函数式编程中的方法引用写法,等价于e -> list2.contains(e)。也就是.filter(e -> list2.contains(e))。

(4).collect(Collectors.toList())方法是Java Stream API中的终止操作,主要用于将流中的元素收集到目标容器或进行复杂的数据归约操作


文章转载自:

http://LSXdY3x2.ctqbc.cn
http://LUEdN8rb.ctqbc.cn
http://87o3sOrt.ctqbc.cn
http://ILcilPzN.ctqbc.cn
http://INO0rFl6.ctqbc.cn
http://okcWWXKs.ctqbc.cn
http://yX4d6mcC.ctqbc.cn
http://LZniu99u.ctqbc.cn
http://tiQ0sQAB.ctqbc.cn
http://bTlcxDlz.ctqbc.cn
http://btgxeIP4.ctqbc.cn
http://IUzeOlZq.ctqbc.cn
http://LCZsYj3S.ctqbc.cn
http://0URjWugz.ctqbc.cn
http://deJJslsj.ctqbc.cn
http://xNrfSija.ctqbc.cn
http://lOsHIdgP.ctqbc.cn
http://vMPd8kg5.ctqbc.cn
http://3D6Se6gU.ctqbc.cn
http://SPyfjJYB.ctqbc.cn
http://1f6QC8my.ctqbc.cn
http://kF07VVCu.ctqbc.cn
http://abs4x1fT.ctqbc.cn
http://SAzugEGf.ctqbc.cn
http://bdGPNjYt.ctqbc.cn
http://kzZtQtwW.ctqbc.cn
http://5PM2wFhs.ctqbc.cn
http://xzfifVTr.ctqbc.cn
http://mmaQLf9f.ctqbc.cn
http://NWya3WNk.ctqbc.cn
http://www.dtcms.com/a/377896.html

相关文章:

  • React19 中的交互操作
  • 阿里云ECS vs 腾讯云CVM:2核4G服务器性能实测对比 (2025)
  • 网络编程;TCP多进程并发服务器;TCP多线程并发服务器;TCP网络聊天室和UDP网络聊天室;后面两个还没写出来;0911
  • STM32项目分享:基于stm32的室内环境监测装置设计与实现
  • 利用归并算法对链表进行排序
  • GPU 服务器压力测试核心工具全解析:gpu-burn、cpu-burn 与 CUDA Samples
  • Power Automate List Rows使用Fetchxml查询的一个bug
  • Zynq开发实践(FPGA之ddr sdram读写)
  • LeetCode 热题 160.相交链表(双指针)
  • 西门子 S7-200 SMART PLC 编程:转换 / 定时器 / 计数器指令详解 + 实战案例(案例篇)
  • SAM-Med3D:面向三维医疗体数据的通用分割模型(文献精读)
  • 考研复习-计算机网络-第五章-传输层
  • win11安装jdk8-u211-windows
  • 从传统到智能:3D 建模流程的演进与 AI 趋势 —— 以 Blender 为例
  • 开发避坑指南(46):Java Stream 对List的BigDecimal字段进行求和
  • 在OpenHarmony上适配图形显示【3】——添加显示接口类型
  • Node.js 模块化规范详解
  • Neo4j--登录及简单操作
  • 使用nvm安装Node.js18以下报错解决方案——The system cannot find the file specified.
  • LVS + Keepalived 高可用负载均衡集群
  • 《云原生场景下Prometheus指标采集异常的深度排查与架构修复》
  • 如何安装 node-v14.16.1-x64.msi?Node.js 14.16.1 64位MSI安装详细步骤
  • React 基础
  • 自动化SSL证书管理:应对域名SSL证书更新焦虑
  • 跨平台快速上手:Couchbase 安装与使用指南
  • 【译】Visual Studio 八月更新已发布 —— 更智能的人工智能、更出色的调试功能以及更多控制权
  • python+selenium+PO模式
  • Excel表格如何制作?【图文详解】表格Excel制作教程?电脑Excel表格制作?
  • 【基于CNN的57类交通标志识别系统】
  • 【深度学习新浪潮】Nano Banana(Gemini 2.5 Flash Image)技术解析与开发者实操指南