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

Java8中Lambda表达式之Collection 的常见用法

背景

在java8中引入了Lambda表达式。其实,他就是一个匿名函数。我们经常会用到一些循环遍历,起始完全就可以通过Lambda来简化我们不必要的操作,下面我们来看一下Lambda常用的方法。

准备条件

@Data@Builderprivate static class Person {private Integer id;private String name;}

1、取List中某个值组成新的List或者Set

这个例子会用到我们Lambda中的map

语法:

List<Integer> result = list.stream().map(Persion::getId).collect(Collectors.toList());

Set<Integer> result = list.stream().map(Persion::getId).collect(Collectors.toSet());

2、取List中的两个值作为map(健不能重复且不能为null)

语法:

Map<Integer, String> stringMap = list.stream().collect(Collectors.toMap(Persion::getId, Persion::getName));

3、groupBy的操作

语法:

Map<String, List<Person>> stringListMap = list.stream().collect(Collectors.groupingBy(Person::getName));

4、取两个List集合的交集

语法:

List<Integer> intersect = listA .stream() .filter(a -> listB.stream().anyMatch(b -> Objects.equals(a, b))) .collect(Collectors.toList());

5、取两个List集合的差集

语法:

List<Integer> intersect1 = listA .stream() .filter(a -> listB.stream().noneMatch(b -> Objects.equals(a, b))) .collect(Collectors.toList());

好了,今天关于Java8中Lambda表达式之Collection 的常见用法就到这里。

欢迎大家点击下方卡片,关注《coder练习生》

相关文章:

Java8中Lambda表达式之Collection 的常见用法

背景 在java8中引入了Lambda表达式。其实&#xff0c;他就是一个匿名函数。我们经常会用到一些循环遍历&#xff0c;起始完全就可以通过Lambda来简化我们不必要的操作&#xff0c;下面我们来看一下Lambda常用的方法。 准备条件 DataBuilderprivate static class Person {priv…...

SpringCloud系列知识快速复习 -- part 2(Sentinel微服务保护,Seata分布式事务,Redis分布式缓存和多级缓存)

SpringCloud系列知识快速复习 -- part 2&#xff08;Sentinel微服务保护&#xff0c;Seata分布式事务&#xff0c;Redis分布式缓存和多级缓存Sentinel微服务保护什么是雪崩问题&#xff1f;解决方法服务保护技术对比流量控制簇点链路Sentinel流控模式流控效果热点参数限流隔离和…...

设置CentOS7的时间与网络同步

1.设置时区为北京时间 [rootlocalhost ~]# timedatectl set-timezone Asia/Shanghai 2.查看系统时间 [rootlocalhost ~]# timedatectl Local time: 四 2023-03-02 17:40:41 CST #系统时间 Universal time: 四 2023-03-02 09:40:41 UTC …...

java开发手册之编程规约

文章目录编程规约命名风格常量定义代码格式OOP规约集合处理并发处理控制语句注释规约其它编程规约 命名风格 1.代码中的命名均不能以下划线或者美元符号开始&#xff0c;也不能以下划线或者美元符号结束 例如&#xff1a;_name | name__ | name$ | $name2.代码中的命名严…...

Camera | 5.Linux v4l2架构(基于rk3568)

上一篇我们讲解了如何编写基于V4L2的应用程序编写&#xff0c;本文主要讲解内核中V4L2架构&#xff0c;以及一些最重要的结构体、注册函数。 厂家在实现自己的摄像头控制器驱动时&#xff0c;总体上都遵循这个架构来实现&#xff0c;但是不同厂家、不同型号的SoC&#xff0c;具…...

机房PDU如何挑选?

PDU PDU(Power Distribution Unit,电源分配单元),也就是我们常说的机柜用电源分配插座,PDU是为机柜式安装的电气设备提供电力分配而设计的产品,拥有不同的功能、安装方式和不同插位组合的多种系列规格,能为不同的电源环境提供适合的机架式电源分配解决方案。PDU的应用,…...

lab备考第二步:HCIE-Cloud-Compute-第一题:FusionCompute

第一题 FusionCompute 一、题目介绍 1.1. 扩容CAN节点与对接共享存储&#xff08;必选&#xff09; 题目及【考生提醒关键点】 扩容一台CNA节点&#xff0c;配置管理地址设置为&#xff1a;192.168.100.212。密码设置为&#xff1a;Cloud12#$。【输入之前确认自己的大小写是否…...

js-cookie和vue-cookies(Cookie使用教程)

简述&#xff1a;js-cookie和vue-cookies都是vue项目中的插件&#xff0c;下载相关依赖后&#xff0c;可以用来存储、获取、删除Cookie等操作&#xff0c;思路相同&#xff0c;操作时稍有不同&#xff0c;当然也可以用原生js来获取Cookie&#xff1b; ⭐ js-coo…...

开创高质量发展新局面,优炫数据库助推数字中国建设

最新印发《数字中国建设整体布局规划》&#xff0c;建设数字中国是数字时代推进中国式现代化的重要引擎&#xff0c;是构筑国家竞争新优势的有力支撑。 数字中国建设按照“2522”的整体框架进行布局&#xff0c;即夯实数字基础设施和数据资源体系“两大基础”&#xff0c;推进…...

【项目实战】为什么我选择使用CloseableHttpClient,而不是HttpClient,他们俩有什么区别?

一、HttpClient介绍 HttpClient是Commons HttpClient的老版本&#xff0c;已被抛弃&#xff0c;不推荐使用&#xff1b; HttpClient是一个接口&#xff0c;定义了客户端HTTP协议的操作方法。 它可以用于发送HTTP请求和接收HTTP响应。 HttpClient接口提供了很多方法来定制请求…...

Spark 内存运用

RDD Cache 当同一个 RDD 被引用多次时&#xff0c;就可以考虑进行 Cache&#xff0c;从而提升作业的执行效率 // 用 cache 对 wordCounts 加缓存 wordCounts.cache // cache 后要用 action 才能触发 RDD 内存物化 wordCounts.count// 自定义 Cache 的存储介质、存储形式、副本…...

SpringBoot集成Swagger3.0(入门) 02

文章目录Swagger3常用配置注解接口测试API信息配置Swagger3 Docket开关&#xff0c;过滤&#xff0c;分组Swagger3常用配置注解 ApiImplicitParams,ApiImplicitParam&#xff1a;Swagger3对参数的描述。 参数名参数值name参数名value参数的具体意义&#xff0c;作用。required参…...

网络协议丨ICMP协议

ICMP协议&#xff0c;全称 Internet Control Message Protocol&#xff0c;就是互联网控制报文协议。我们其实对它并不陌生&#xff0c;我们平时经常使用的”ping“一下就是基于这个协议工作的。网络包在异常复杂的网络环境中传输时&#xff0c;常常会遇到各种各样的问题。当遇…...

12.1 基于Django的服务器信息查看应用(系统信息、用户信息)

文章目录新建Django项目创建子应用并设置本地化创建数据库表创建超级用户git管理项目&#xff08;requirements.txt、README.md、.ignore&#xff09;主机信息监控应用的框架搭建具体功能实现系统信息展示前端界面设计视图函数设计用户信息展示视图函数设计自定义过滤器的实现前…...

ExSwin-Unet 论文研读

ExSwin-Unet摘要1 引言2 方法2.1 基于窗口的注意力块2.2 外部注意力块2.3 不平衡的 Unet 架构2.4 自适应加权调整2.5 双重损失函数3 实验结果3.1 数据集3.2 实现细节3.3 与 SOTA 方法的比较3.4 消融研究4 讨论和限制5 结论数据集来源&#xff1a; https://feta.grand-challenge…...

置顶!!!主页禁言提示原因:在自己论坛发动态误带敏感词,在自己论坛禁止评论90天

置顶&#xff01;&#xff01;&#xff01;主页禁言提示原因&#xff1a;在自己论坛发动态误带敏感词&#xff0c;在自己论坛禁止评论90天 置顶&#xff01;&#xff01;&#xff01;主页禁言提示原因&#xff1a;在自己论坛发动态误带敏感词&#xff0c;在自己论坛禁止评论90天…...

优思学院|解密六西格玛:探索DMAIC和DMADV之间的区别

六西格玛方法中最为广泛使用的两种方法是DMAIC和DMADV。这两种方法都是为了让企业流程更加高效和有效而设计的。虽然这两种方法有一些重要的共同特点&#xff0c;但它们并不可以互相替代&#xff0c;并且被开发用于不同的企业流程。在更详细地比较这两种方法之前&#xff0c;我…...

Pytorch的DataLoader输入输出(以文本为例)

本文不做太多原理介绍&#xff0c;直讲使用流畅。想看更多底层实现-〉传送门。DataLoader简介torch.utils.data.DataLoader是PyTorch中数据读取的一个重要接口&#xff0c;该接口定义在dataloader.py脚本中&#xff0c;只要是用PyTorch来训练模型基本都会用到该接口。本文介绍t…...

代谢组学:Microbiome又一篇!绘制重症先天性心脏病新生儿肠道微生态全景图谱

文章标题&#xff1a;Mapping the early life gut microbiome in neonates with critical congenital heart disease: multiomics insights and implications for host metabolic and immunological health 发表期刊&#xff1a;Microbiome 影响因子&#xff1a;16.837…...

Java基本类型所占字节简述

类型分类所占字节取值范围boolean布尔型1bit0 false、 1 true (1个bit 、1个字节、4个字节)char ​字符型&#xff08;Unicode字符集中的一个元素&#xff09;​ 2字节-32768&#xff5e;32767&#xff08;-2的15次方&#xff5e;2的15次方-1&#xff09;byte整型1字节-128&a…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

HTML前端开发:JavaScript 获取元素方法详解

作为前端开发者&#xff0c;高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法&#xff0c;分为两大系列&#xff1a; 一、getElementBy... 系列 传统方法&#xff0c;直接通过 DOM 接口访问&#xff0c;返回动态集合&#xff08;元素变化会实时更新&#xff09;。…...

Ubuntu系统多网卡多相机IP设置方法

目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机&#xff0c;交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息&#xff0c;系统版本&#xff1a;Ubuntu22.04.5 LTS&#xff1b;内核版本…...