26、Stream流式计算,链式编程

news2025/7/9 17:46:43

Stream流式计算,链式编程

 

什么是stream流式计算?

大数据包括(存储+计算)

集合,mysql这些是用来存储的,而计算是用stream流式的

题目案例:只用一行代码,完成计算这些操作

 

操作:

第一步:将我们的数据变为一个集合(Arrays.asList())存储

 

第二步:查看j.u.stram包下的这些流。流里面的方法的参数大都是函数式接口

 

 

 

第三步:使用stream流中的集合.stream()(这样就变为一个Stream对象了).filter()+forEach()输出为偶数的数据

 

参数为断定型接口

 

第四步:同理用filter()过滤年龄>23的

 

 

第五步:使用.map()获取名字让后用toUpperCase变为大写

 

 

第六步:倒着排序(.sort(两个参数(比较排序)))

 

 

正序排列:(uu1比uu2)

 

 

倒序排列了:(uu2比uu1)

 

 

最后一步(分页咯limit)

 

package org.example.stream;



import java.util.Arrays;

import java.util.List;



public class TestStream {

    public static void main(String[] args) {

        User user1=new User(1,"a",21);

        User user2=new User(2,"b",22);

        User user3=new User(3,"c",23);

        User user4=new User(4,"d",24);

        User user5=new User(6,"e",25);

        //先变为集合存储

        List<User> list= Arrays.asList(user1,user2,user3,user4,user5);

        //将集合变为stream对象,然后用流计算

        list.stream()

                .filter(u->{return u.getId()%2==0;})

                .filter(u->{return u.getAge()>23;})

                .map(u->{return u.getName().toUpperCase(); })

                .sorted((uu1,uu2)->{return uu1.compareTo(uu2);})

                .limit(1)

                .forEach(System.out::println);

    }

}

class User{

    public int getId() {

        return id;

    }



    public void setId(int id) {

        this.id = id;

    }



    public String getName() {

        return name;

    }



    public void setName(String name) {

        this.name = name;

    }



    public int getAge() {

        return age;

    }



    public void setAge(int age) {

        this.age = age;

    }



    private int id;

    private String name;

    private int age;



    public User() {

    }



    @Override

    public String toString() {

        return "User{" +

                "id=" + id +

                ", name='" + name + '\'' +

                ", age=" + age +

                '}';

    }



    public User(int id, String name, int age) {

        this.id = id;

        this.name = name;

        this.age = age;

    }

}



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

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

相关文章

软件工程师备考1-2章(续)

一:差错控制 (1)奇偶检验 什么意思呢? 如果我们用 奇校验,就是保证传输过来的数据中的1是奇数,如果不是奇数那么说明传输错误。 (所以会增加一位,保证正确的数据的总的1一定是奇数) (2)海明码 什么是海明距离? 两个码字,例如 0 1 0 0 和 0 0 1 0 可以看到这…

java的Excel导出方式总结

一、使用hutool导出excel 1.1 hutool介绍 hutool功能很强大&#xff0c;http请求到json处理、excel的导入导出、定时任务、IO、缓存、数据库操作等都提供了简单而方便的api供我们使用&#xff0c;好处是再也不用担心自己去整理常用的工具类了&#xff0c;同时也支持按需引入【但…

怎样在PDF上直接编辑文字?这几种编辑方法需要掌握

怎么做才能够直接在PDF文件上编辑文字呢&#xff1f;对PDF文件大家在工作中是经常使用的&#xff0c;相信大家也都亲身体验过&#xff0c;那就是经常会看见文件中有错误的地方&#xff0c;可能只是一个错别字&#xff0c;或者是图片错误&#xff0c;但我们也不得不改&#xff0…

2023年前端开发趋势未来可期

☆ 对于很多质疑&#xff0c;很多不解&#xff0c;本文将从 △ 目前企业内前端开发职业的占比&#xff1b; △ 目前业内开发语言的受欢迎程度&#xff1b; △ 近期社区问答活跃度&#xff1b; 等维度来说明目前前端这个职业的所处位置。 ☆ 还有强硬的干货&#xff0c;通过深入…

MQTT 协议的基本概念

目录 1、MQTT 介绍 2、MQTT 发布-订阅模式 &#xff08;1&#xff09;Broker 可拓展 &#xff08;2&#xff09;Broker 消息过滤 &#xff08;3&#xff09;MQTT 的主要特征是什么&#xff1f; &#xff08;4&#xff09;MQTT 和消息队列的区别 3、MQTT 客户端、 Broker…

6-TRITC 四甲基罗丹明-6-异硫氰酸 CAS 80724-20-5

产品名称&#xff1a;6-TRITC 四甲基罗丹明-6-异硫氰酸 英文名称&#xff1a;6-TRITC [Tetramethylrhodamine-6-isothiocyanate] CAS&#xff1a;80724-20-5 结构式&#xff1a; Ex (nm) 544 Em (nm) 570 分子量 479.98 溶剂 DMSO 存储条件 在零下15度以下保存, 避免光…

使用Idea新建Play项目sbt构建失败,提示scala-xml依赖冲突

最近学习scala和paly,使用idea模板创建项目后&#xff0c;项目构建时就发现报错了&#xff0c;处理了很久&#xff0c;记录一下。 错误日志: [error] (update) found version conflict(s) in library dependencies; some are suspected to be binary incompatible: [error] […

协程原理与设计

什么是M:N协程&#xff1f;为什么要支持M:N协程&#xff1f;如何设计M:N协程&#xff1f;tRPC-Cpp引入了公司开源组件Flare/fiber作为底层库&#xff0c;本文多角度分析梳理了M:N协程的关键原理和特性。1 常见线程模型的问题 在高并发编程场景&#xff0c;如互联网后台类业务中…

尚医通 (十九) --------- 数据字典导出与导入

目录一、数据字典导出1. 导出接口封装2. 在 service-cmn 模块添加 service 方法3. 在 service-cmn 模块添加 controller 方法4. 测试5. 导出前端实现二、数据字典导入1. 导入接口封装2. 导入前端实现一、数据字典导出 1. 导出接口封装 A、在 model 模块添加导出实体 在 mode…

【论文解析】Deep Generative Models on 3D Representations: A Survey

文章目录内容组织结构3 FUNDAMENTALS3.1 Deep Generative ModelsGenerative Adversarial Networks.Variational AutoencodersNormalizing Flows.Diffusion ModelsEnergy-based model.3.2 3D RepresentationsVoxel gridsPoint cloudsMeshesNeural fieldsHybrid representation.4…

读《高性能MySQL》笔记---索引

索引是存储引擎用于快速找到记录的的一种数据结构。 索引的优点 索引大大减少服务器需要扫描的数据量。索引帮助服务器避免排序和临时表。索引将随机IO变为顺序IO。 说明&#xff1a; 顺序IO&#xff1a;是指读写操作的访问地址连续。在顺序IO访问中&#xff0c;HDD所需的磁…

生产环境日志还用notepad++?难怪定位慢,UltraEdit了解一下!

最近这两天运营部门反馈有会员的会员卡开卡时间与相关页面显示的开卡时间不一致&#xff0c;需要定位确定哪个时间是准确的。对于线上数据异常问题一定要谨慎处理&#xff0c;因为很有可能会是用户的某些非常规操作导致部分场景漏测。 对于这种数据异常的业务问题&#xff…

顺序存储二叉数(Java)

1、顺序存储二叉数 从存储角度来看&#xff0c;我们之前讲的树在存储结构上不是顺序存储的&#xff0c;都是非线性的存储结构&#xff0c;所以我们可以从数组的角度来分析&#xff0c;数组和树可以相互转换&#xff0c;数组可以转换成树&#xff0c;树也可以转换成数组&#x…

吗咿呀嘿-用js来搞个简单的人脸识别

缘起 “蚂蚁呀嘿&#xff0c;蚂蚁呀呼&#xff0c;蚂蚁呀哈” 相信最近好多人的朋友圈或者抖音都被类似视频刷过屏&#xff01; 类似的效果最早是在2020年初&#xff0c;那个时候大家应该还都记得&#xff0c;几乎所有的人都因为疫情原因被迫线上办公&#xff01; 工作当然离不…

mybatisPlus

第十一章&#xff1a;Mybatis_plus 第1节&#xff1a;简介 本章节主要介绍mybatisPlus是mybatis的增强工具&#xff0c;只做增强不做改变&#xff0c;不会对mybatis产生任何影响。它的主要优势具有无侵入、损耗小、强大的CRUD操作、支持 Lambda 形式调用、支持 ActiveRecord模…

向毕业妥协系列之机器学习笔记:无监督学习-异常检测

目录 一.发现异常事件 二.高斯正态分布 三.异常检测算法 四.开发与评估异常检测系统 五.异常检测与监督学习对比 六.选择使用什么特征 一.发现异常事件 下图的例子是飞机发动机的制造&#xff0c;有很多特征&#xff0c;我们为了方便讲解取其中的两个特征&#xff1a;发…

基于JavaWeb的小区物业管理系统的设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

(1)paddle---在anaconda中安装paddle环境

1、 创建一个anaconda的环境 (1)创建 conda create --name chenpaddle_cp310 python=3.10 如果要删除 conda remove -n chenpaddle_cp310 --all (2)查看现有环境 conda env list #查看现有环境 2、安装 paddlepaddle (1)查看自己安装的cuda版本 nvidia-smi 发现…

java计算机毕业设计ssm+vue工商学院办公用品管理信息系统

项目介绍 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时…

Linux内存管理知识总结(一)

以下源代码来自 linux-5.10.3 内核代码&#xff0c;主要以 x86-32 为例 Linux 内存管理是一个很复杂的“工程”&#xff0c;它不仅仅是对物理内存的管理&#xff0c;也涉及到虚拟内存管理、内存交换和内存回收等 物理内存的探测 Linux 内核通过 detect_memory()函数实现对物…