Java使用Stream流

在实际的开发工作中,集合是我们非常常用的一种。
当我们想对集合内的对象加工时,你是不是首先想到了for循环?

其实在java8以后,引入的Stream流,同时搭配lambda的使用,可以支持一系列复杂的操作,使我们操作集合时更加方便的同时,也会使代码看起来更加简洁

假设我们有一个集合

List<Model> modelList=xxMapper.selectModelInfo();

我们可以借助Stream对modelList进行一系列操作

1.循环

modelList.Stream.map(model->{model.setName("mm");return model;
}).collect(Collectors.toList());

2.提取某个元素成新的集合

List<String> nameList=modelList.stream().map(
Model::getName).distinct().collect(Collectors.toList()
);

3.转成map

Map<String,Model> modelMap = modelList.stream().collect(
Collectors.toMap(Model::getName,model -> model,(s, s2) -> s2)
);

4.转成map并分组

Map<String, List<Model>> modelMap = modelList.stream().collect(
Collectors.groupingBy( Model::getName)
);

5.过滤

modelList=modelList.stream().filter(
item -> "xiaoMing".equals(item.getName())
).collect(Collectors.toList());

后续会持续完善~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM重点整理

一、虚拟机架构图 二、类加载过程 类加载器的作用&#xff1a;负责把class文件加载到内存中 类加载过程&#xff1a; 加载&#xff1a; 通过类的全限定名获取此类的二进制字节流文件的编码结构---->运行时的内存结构内存中生成一个class对象 链接&#xff1a; 验证&#x…

智能电表远程抄表系统原理

智能电表远程抄表系统是现代智能电网建设的重要组成部分&#xff0c;它利用物联网技术实现电表数据的远程采集、传输和处理&#xff0c;提高了电力公司的抄表效率&#xff0c;同时也为用户提供了更加便捷、准确的用电服务。本文将从远程智能电表抄表系统的工作原理、特点、应用…

每天一道C语言编程:排队买票

题目描述 有M个小孩到公园玩&#xff0c;门票是1元。其中N个小孩带的钱为1元&#xff0c;K个小孩带的钱为2元。售票员没有零钱&#xff0c;问这些小孩共有多少种排队方法&#xff0c;使得售票员总能找得开零钱。注意&#xff1a;两个拿一元零钱的小孩&#xff0c;他们的位置互…

精益生产有哪些管理工具?

精益生产有哪些管理工具&#xff1f; 一、什么是精益生产 智能制造是落实我国制造强国战略的重要举措&#xff0c;加快推进智能制造&#xff0c;是加速我国工业化和信息化深度融合、推动制造业供给侧结构性改革的重要着力点&#xff0c;对重塑我国制造业竞争新优势具有重要意义…

优化类问题建模解析

模型建立阶段 线性规划模型&#xff1a;目标函数和约束条件均为线性 整数规划或0-1规划&#xff1a;决策变量取值被限制为整数或0、1 动态优化模型&#xff1a;以时间为划分阶段的动态过程优化问题 非线性规划模型&#xff1a;目标函数或约束条件中包括非线性函数 多目标规划模…

创新力驱动:代理IP、Socks5代理、SK5代理与网络安全的新潮流

代理IP、Socks5代理和SK5代理作为关键的网络通信技术&#xff0c;不断演进与创新。本文将介绍这些技术的创新应用&#xff0c;包括智能化代理、区块链安全和边缘计算&#xff0c;探索它们在网络安全领域的新潮流和未来发展方向。 【第一部分&#xff1a;智能化代理的崛起】 智…

Robot Framework高阶功能介绍

Robot Framework高阶功能包括以下内容&#xff1a; 自定义关键字库&#xff1a;可以根据自己的需求编写自定义的关键字库&#xff0c;使得测试用例更加灵活。 数据驱动测试&#xff1a;可以通过使用不同的数据来执行同一个测试用例&#xff0c;提高测试用例的复用性和效率。 …

超高性能协议框架fury完爆protostuff(附性能测试对比)

简单介绍: 序列化框架是系统通信的基础组件&#xff0c;在大数据、AI 框架和云原生等分布式系统中广泛使用。当对象需要跨进程、跨语言、跨节点传输、持久化、状态读写、复制时&#xff0c;都需要进行序列化&#xff0c;其性能和易用性影响运行效率和开发效率。 Fury 是一个基于…

SSH服务(二十六)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、概述 二、特点 三、身份验证机制 四、验证过程 五、加密机制 六、基本参数 ​七、 身份验证机制 八、基本操作 1. ssh 2. scp 3. sftp 4. 密钥对验证 总结 前…

人工智能商业变现途径,并介绍详细公司案列

目录 1. 推荐系统&#xff1a;2. 智能广告和营销&#xff1a;3. 聊天机器人和虚拟助手&#xff1a;4. 自动化和机器人化&#xff1a;5. 数据分析和预测&#xff1a;6. 机器视觉和图像识别&#xff1a;7. 金融科技&#xff08;FinTech&#xff09;&#xff1a;8. 医疗诊断和健康…

m4a文件出现损坏应该如何修复?

M4A文件&#xff0c;也称为Apple Lossless Encoder&#xff0c;是一种类似于MP4文件的音频格式。它们之间唯一的区别是M4A文件里面没有视频。作为一个音频文件&#xff0c;它已被广泛使用&#xff0c;常用的Windows&#xff0c;Media Player&#xff0c;Mac quicktime和iTunes等…

【MongoDB实战】数据备份与恢复(部分迁移)

场景&#xff1a; 需求&#xff1a; 解决方案&#xff1a; 步骤&#xff1a; Stage 1&#xff1a;【生产环境】修改备份文件映射 Stage 2&#xff1a;【生产环境】重新构建mongodb Stage 3&#xff1a;【客户环境】修改备份文件映射&#xff0c;同 Stage 1 Stage 4&…

九五从零开始的运维之路(其二十)

[TOC](文章目录) 文章目录 前言一、LAMP是什么二、配置环境及安装1.配置yum源2.关闭防火墙、网络图形化工具及SElinux3.安装软件包 三、配置apache服务器内容四、启动服务五、访问验证总结 前言 本篇将简述的内容&#xff1a;Linux系统下的LAMP平台部署 基于discuz框架的论坛搭…

用WooCommerce创建一个多用户商城系统和多供应商市场

线上市场是下一波数字化商务。2020 年&#xff0c;超过60% 的线上支出是通过数字市场发生的。人们喜欢从市场上购物&#xff0c;因为它们使购物变得容易。出于同样的原因&#xff0c;企业喜欢通过它们进行销售。通过多用户商城系统和多供应商WooCommerce商城设置&#xff0c;每…

kafka接收外部接口的数据,并实现转发

目录 一、什么是kafka 二、kafka接收外部接口数据 三、kafka收到数据后转发 四、kafka总结 一、什么是kafka Kafka是一种分布式流式处理平台&#xff0c;最初由LinkedIn开发。它设计用于高吞吐量、低延迟的数据处理&#xff0c;能够处理大规模的实时数据流。Kafka采用发布…

gitee 使用

1.打开git bash 2.cd 进入到合适位置 3.git clone 项目 4.配置用户名和email&#xff08;不然没法记录谁操作的&#xff09; pycharm &#xff08;ctrlk&#xff09;

个人微信机器人开发

微信机器人的主要职责是为了帮助群主来进行微信社群的管理&#xff0c;微信机器人当前主要分为两种&#xff0c;一种是微信聊天机器人&#xff0c;还有一种是微信群管理机器人。 微信聊天机器人的主要职责是可以在群内聊天&#xff0c;从而提高微信群活跃度&#xff1b;微信群管…

【Ceph集群应用】CephFS文件系统之MDS接口详解

CephFS文件系统之MDS接口详解 1.创建CephFS文件系统MDS接口1.1 创建cephfs1.2 基于内核的客户端挂载1.3 基于fuse工具方式的客户端挂载 接上文基于ceph-deploy部署Ceph集群详解 1.创建CephFS文件系统MDS接口 服务端操作 &#xff08;1&#xff09;在admin管理节点创建mds服务…

在Ubuntu中如何更改主机名 - 完整教程与5个网络相关的关键要点

参考文章&#xff1a; https://www.howtouseubuntu.com/network/change-hostname-in-ubuntu-linux/ 大家好&#xff01;我很荣幸能为您带来这篇客座博文&#xff0c;今天我们将深入讨论如何在Ubuntu操作系统中更改主机名。主机名是计算机在网络中的身份标识&#xff0c;对于网…

Java打怪升级路线的相关知识

第一关:JavaSE阶段 1、计算机基础 2、java入门学习 3、java基础语法 4、流程控制和方法 5、数组 6、面向对象编程 7、异常 8、常用类 9、集合框架 10、IO 11、多线程 12、GUI编程 13、网络编程 14、注解与反射 15、JUC编程 16、JVM探究 17、23种设计模式 18、数据结构与算法 1…