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

java常用的lambda表达式总结

一、概述

        lambda表达式是JDK8中的一个新特性,对某些匿名内部类进行简化,是函数式编程;

二、基本格式

        (参数列表)->{方法体代码}

三、Stream流

        是jdk8中的新特性,将数据以流的形式进行操作

三、常用方法解析

3.1、准备工作

@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode //用于后期的去重使用
@Data
public class People {private int id;private String name;private int age;private String home;private List<Friend> friendList;
}
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode //用于后期的去重使用
@Data
public class Friend {private int id;private String name;private int age;private String home;private String category;//分类
}
 void contextLoads() {People people1=new People(1,"曹操",33,"魏国",null);People people2=new People(2,"孙权",15,"吴国",null);People people3=new People(3,"张飞",14,"蜀国",null);People people4=new People(3,"张飞",14,"蜀国",null);List<Friend>list1=new ArrayList<>();List<Friend>list2=new ArrayList<>();List<Friend>list3=new ArrayList<>();list1.add(new Friend(1,"刘备",88,"河北,石家庄","好朋友"));list1.add(new Friend(2,"赵云",99,"湖北,武汉","新朋友"));list2.add(new Friend(3,"周瑜",85,"辽宁,大连","老朋友"));list2.add(new Friend(3,"周瑜",85,"辽宁,大连","老朋友"));list2.add(new Friend(4,"诸葛亮",56,"内蒙古,包头","大朋友"));list3.add(new Friend(5,"郭嘉",56,"甘肃,兰州","骄傲的朋友"));list3.add(new Friend(6,"吕布",100,"陕西,西安","厉害的朋友"));list3.add(new Friend(7,"吕布",100,"陕西,西安","厉害的朋友"));people1.setFriendList(list1);people2.setFriendList(list2);people3.setFriendList(list3);people4.setFriendList(list3);List<People>peopleList=new ArrayList<>(Arrays.asList(people1,people2,people3,people4));}

 3.2、常用方法

stream()
distinct()
filter()

forEach()

//打印people年龄小于18的人的名字,且去重peopleList.stream().distinct().filter(new Predicate<People>() {@Overridepublic boolean test(People people) {return people.getAge()<18;}}).forEach(new Consumer<People>() {@Overridepublic void accept(People people) {System.out.println(people.getName());}});-------------------------------Alt+Enter转为Lambda表达式-----------------------------
peopleList.stream().distinct().filter(people -> people.getAge()<18).forEach(people -> System.out.println(people.getName()));

        

                        

相关文章:

java常用的lambda表达式总结

一、概述 lambda表达式是JDK8中的一个新特性&#xff0c;对某些匿名内部类进行简化&#xff0c;是函数式编程&#xff1b; 二、基本格式 (参数列表)->{方法体代码} 三、Stream流 是jdk8中的新特性&#xff0c;将数据以流的形式进行操作 三、常用方法解析 3.1、准备工作 …...

分布式应用之zookeeper集群+消息队列Kafka

一、zookeeper集群的相关知识 1.zookeeper的概念 ZooKeeper是一个分布式的&#xff0c;开放源码的分布式应用程序协调服务&#xff0c;是Google的Chubby一个开源的实现&#xff0c;是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件&#xff0c;提供的功能…...

GStreamer学习笔记(四)

Time management 仅当管道处于PLAYING状态时&#xff0c;可以刷新屏幕。如果不在PLAYING状态&#xff0c;什么都不做&#xff0c;因为大多数查询都会失败。 函数与知识点 GstClockTime 说明&#xff1a;所需的超时时间必须以GstClockTime的形式指定。即以纳秒&#xff08;ns…...

DBeaver连接华为高斯数据库 DBeaver连接Gaussdb数据库 DBeaver connect Gaussdb

DBeaver连接华为高斯数据库 DBeaver连接Gaussdb数据库 DBeaver connect Gaussdb 一、概述 华为GaussDB出来已经有一段时间&#xff0c;最近工作中刚到Gauss数据库。作为coder&#xff0c;那么如何通过可视化工具来操作Gauss呢&#xff1f; 本文将记录使用免费、开源的DBeaver来…...

.net core 2.1 简单部署IIS运行

netcore的项目不像netFramework那么方便部署到iis还是要费点功夫的 比如我想把这个netcore2.1的项目部署到iis并运行&#xff1a; 按照步骤走&#xff1a; 一、确认自己的netcore环境 1、需要安装下面3个环境包(如果电脑已安装请忽略) 检查是否安装cmd命令&#xff1a;cmd&…...

提高视觉检测系统稳定性的隐藏办法——10G高速图像采集卡

提高视觉检测系统稳定性的隐藏办法——10G高速图像采集卡 目前&#xff0c;随着我国各方面配套基础设施建设的完善&#xff0c;企业技术、资金的积累&#xff0c;各行各业积极探索和大胆的尝试机器视觉技术&#xff0c;实现工业自动化、智能化。在机器视觉系统的使用过程中&am…...

注解方式实现数据库字段加密与解密

目录 前言实现步骤定义注解加密工具类定义mybatis拦截器 总结 前言 一些敏感信息存入数据需要进行加密处理&#xff0c;比如电话号码&#xff0c;身份证号码等&#xff0c;从数据库取出到前端展示时需要解密&#xff0c;如果分别在存入取出时去做处理&#xff0c;会很繁锁&…...

C\C++ 使用socket判断ip是否能连通

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan 简介&#xff1a; 使用socket判断ip是否能联通 效果&#xff1a; 代码&#xff1a; #include <iostream> #include <cstdlib> #include <cstdio> #include &…...

数学建模-相关系数

excel基本操作&#xff1a;ctrl右&#xff0c;ctrl左&#xff0c;ctrlshift下/右&#xff0c;ctrlshift空格 题目里有数据&#xff0c;给出描述性统计是比较好的习惯 excel描述性统计&#xff1a;数据-数据分析-描述统计 MATLAB要做散点图C62个 SPSS可以直接画出两两之间的散…...

Ubuntu下安装、配置及重装CUDA教程

安装CUDA 前往Nvidia CUDA Tools官网选择对应的架构和版本下载CUDA 以如下架构和版本为例&#xff1a; 查看显卡驱动 nvidia-smi如果显卡驱动已经装了&#xff0c;那么在CUDA安装过程中不用再勾选安装driver 下载并安装CUDA wget https://developer.download.nvidia.co…...

自学网络安全(黑客)为什么火了?

网安专业从始至终都是需要学习的&#xff0c;大学是无法培养出合格的网安人才的。这就是为啥每年网安专业毕业生并不少&#xff0c;而真正从事网安岗位的人&#xff0c;寥寥无几的根本原因。 如果将来打算从事网安岗位&#xff0c;那么不断学习是你唯一的途径。 网络安全为什…...

Android S 修改关于手机的logo

1.让图片加载生效 frameworks/base/packages/SettingsLib/LayoutPreference/res/layout/preference_about_phone.xml <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android" android:id"id/entity_header" style"…...

Mysql 备份与还原

目录 一、数据备份的重要性 二、数据库备份类型 2.1 物理备份 2.&#xff12; 逻辑备份 三、常见的备份方法 3.1 物理冷备 3.2 专用备份工具 mysqldump 或 mysqlhotcopy 3.3 启用二进制日志进行增量备份 3.4 第三方工具备份 四、MySQL完全备份 五、数据库完全备份分类…...

Cadence PCB 仿真Model Integrity专题

&#x1f3e1;《总目录》   &#x1f3e1;《宝典目录》 目录 1&#xff0c;内容概述2&#xff0c;内容目录 1&#xff0c;内容概述 本专题详细介绍Cadence的仿真建模工具 Model Integrity。 2&#xff0c;内容目录 Cadence PCB仿真 Model Integrity 功能详述与启动方法图文教…...

记一次阿里云被挖矿处理记录

摘要 莫名其妙的服务器就被攻击了&#xff0c;又被薅了羊毛&#xff0c;当做免费的挖矿劳动力了。 一、起因 上班&#xff08;摸鱼&#xff09;好好的&#xff0c;突然收到一条阿里云的推送短信&#xff0c;不看不知道&#xff0c;两台服务器被拉去作为苦力&#xff0c;挖矿去…...

Linux系统使用(超详细)

目录 Linux操作系统简介 Linux和windows区别 Linux常见命令 Linux目录结构 Linux命令提示符 常用命令 ls cd pwd touch cat echo mkdir rm cp mv vim vim的基本使用 grep netstat Linux面试题 Linux操作系统简介 Linux操作系统是和windows操作系统是并列…...

【问题总结】Docker环境下备份和恢复postgresql数据库

目录 文章目录 以从备份恢复forest_resources库为例一、备份数据库二、需要还原的数据库准备1 删除掉远程的库。2 重新创建一个空的库。可以使用sql3 找到数据库存放的路径&#xff0c;并将备份文件上传到对应的路径下 三、 进入docker容器内部&#xff0c;执行数据库恢复附录…...

《TCP IP网络编程》第六章

《TCP IP网络编程》第六章&#xff1a;基于 UDP 的服务端/客户端 UDP 套接字的特点&#xff1a; 通过寄信来说明 UDP 的工作原理&#xff0c;这是讲解 UDP 时使用的传统示例&#xff0c;它与 UDP 的特点完全相同。寄信前应先在信封上填好寄信人和收信人的地址&#xff0c;之后…...

如何学习java

-学习Java是一个循序渐进的过程&#xff0c;下面提供一些学习Java的方法&#xff0c;帮助您有效地掌握这门编程语言&#xff1a; 定义学习目标&#xff1a;明确您学习Java的目标和用途。是为了进入软件开发行业&#xff0c;还是用于特定项目或兴趣爱好&#xff1f;明确学习目标…...

RabbitMQ实现六类工作模式

&#x1f60a; 作者&#xff1a; 一恍过去 &#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390 &#x1f38a; 社区&#xff1a; Java技术栈交流 &#x1f389; 主题&#xff1a; RabbitMQ实现六类工作模式 ⏱️ 创作时间&#xff1a; 2023年07月20日…...

在AutoDL上从零部署YOLO训练环境:新手避坑指南

1. 为什么选择AutoDL部署YOLO训练环境 第一次接触目标检测任务时&#xff0c;我和大多数新手一样被各种环境配置问题折磨得够呛。本地显卡跑不动YOLOv5&#xff0c;租用云服务器又担心操作复杂&#xff0c;直到发现了AutoDL这个宝藏平台。它最大的优势就是把复杂的GPU实例管理简…...

软件测试员转型AI测试:机遇与挑战全解析

技术浪潮下的必然选择在人工智能技术席卷全球的浪潮中&#xff0c;软件测试领域正经历前所未有的变革。2026年数据显示&#xff0c;AI在测试行业的渗透率已超40%&#xff0c;新发AI测试岗位量同比增长543%&#xff0c;薪资溢价高达18%。这一趋势迫使测试从业者直面转型抉择&…...

欧拉Euler~21.10系统下OpenSSH 9.0升级与安全加固实战指南

1. 环境准备&#xff1a;从零搭建OpenSSH 9.0升级基础 在欧拉Euler~21.10系统上升级OpenSSH&#xff0c;就像给老房子换新门窗——既要保证新功能正常使用&#xff0c;又不能破坏原有结构。我最近刚在测试环境完成这套操作&#xff0c;整个过程踩过几个坑&#xff0c;这里把完整…...

Microsoft Agent Framework 构建 SubAgent(Multi-Agent)

本文演示如何用 Microsoft Agent Framework 用 Executor Workflow&#xff08;DAG&#xff09;模式实现 SubAgent&#xff08;子代理&#xff09;架构。通过示例代码&#xff08;来自项目的 txt&#xff09;展示并发 Fan‑Out/Fan‑In 的实现、消息路由与聚合策略&#xff0c;…...

等保测评必看!用组策略批量关闭445/139端口(域环境适用版)

企业域环境下批量关闭高危端口的组策略实战指南 在等保测评和日常安全运维中&#xff0c;445、139、135等端口因其历史漏洞和潜在风险&#xff0c;常被列为必须管控的高危端口。对于拥有数百甚至上千台终端的中大型企业来说&#xff0c;逐台手动配置不仅效率低下&#xff0c;更…...

MecanumBase:轻量级全向轮运动学逆解C库

1. MecanumBase 库概述MecanumBase 是一个专为全向移动机器人设计的轻量级底层控制库&#xff0c;核心目标是将复杂的轮式运动学解耦为工程师可直观理解的输入指令&#xff1a;平移方向角&#xff08;θ&#xff09;与旋转角速度&#xff08;ω&#xff09;。该库不依赖任何特定…...

OpenClaw自动化测试:Qwen3.5-9B在API接口校验中的实战应用

OpenClaw自动化测试&#xff1a;Qwen3.5-9B在API接口校验中的实战应用 1. 为什么选择OpenClaw做接口自动化测试 去年接手一个个人项目时&#xff0c;我遇到了接口测试的痛点&#xff1a;每次后端更新都要手动验证几十个API&#xff0c;不仅耗时还容易遗漏边缘case。尝试过Pos…...

轴承故障诊断实战:从振动信号到Python代码的完整分析流程

轴承故障诊断实战&#xff1a;从振动信号到Python代码的完整分析流程 在工业设备维护领域&#xff0c;轴承作为旋转机械的核心部件&#xff0c;其健康状态直接影响设备运行效率与安全性。传统的人工巡检方式已难以满足现代工业对故障预警的实时性需求&#xff0c;而基于振动信号…...

亚马逊爆款选品:数据采集与三方服务商对接

一、核心选品数据采集渠道1. 官方免费数据源&#xff08;合规权威&#xff09;BSR畅销榜&#xff1a;查看类目热销品&#xff0c;定位头部爆款。新品榜&#xff1a;挖掘增速快、潜力大的新品。商机探测器&#xff1a;卖家后台直达&#xff0c;获取高搜索量、低竞争蓝海词。品牌…...

HunyuanVideo-Foley实战案例:为纪录片自动匹配环境音效的完整工作流

HunyuanVideo-Foley实战案例&#xff1a;为纪录片自动匹配环境音效的完整工作流 1. 项目背景与需求 在纪录片制作过程中&#xff0c;环境音效的采集和匹配往往需要耗费大量时间和人力成本。传统方式需要音效师实地录制或从音效库中手动挑选&#xff0c;整个过程耗时且难以保证…...