lambdastream

news2024/11/24 15:58:53

lambda

匿名函数 为了简化java的匿名内部类

事件监听ActionListener 接口(外部类)

内部类 类在其他地方用不到,索性就把这个类定义在类的内部使用

好处:1.内部可以使用外部类成员

           2.其他地方发现不了

             往往内部类只用一次,还需要创建一个内部类

             JAVA为了简化语法、

java2之前,函数/方法是不能当作参数传递的,必须将函数包装在对象中,

但是核心就是函数完成某个功能,还需要创建一个对象

JAVA2开始,对这一语法进行简化,

 

public static void main(String[] args) {
    ArrayList<String> arrayList=new ArrayList<>();
    arrayList.add("a");
    arrayList.add("c");
    arrayList.add("b");

  /*  arrayList.sort(new Comparator<String>() {
        @Override
        public int compare(String o1, String o2) {
            return o1.compareTo(o2);
        }
    });*/
    //匿名内部列,为了减少类的创建
    //此功能核心compareTo方法,但是java是面向对象的,方法是不能独立存在的,必须将方法包装在对象中
    arrayList.sort((a,b)->{
        return a.compareTo(b);
    });
    System.out.println(arrayList);
    
}

stream

处理数据集合(数组,集合类)

对数组,集合类 进行各种操作(过滤,排序···)

stream处理数据大体过程

数组/集合类 -->流-->各种操作(排序,过滤···)--结果

数组和集合类更偏向于存储数据

stream更偏向于数据操作

1.获取操作

/*
流操作
1.获取流,把集合/数组转化为stream对象
*/
ArrayList<Integer> arrayList=new ArrayList<>();
arrayList.add(1);
arrayList.add(2);
arrayList.add(3);
arrayList.add(4);
arrayList.add(5);
Stream<Integer> arr= arrayList.stream();


Integer[] arry=new Integer[]{1,2,3,4,5};
Stream<Integer> stream= Arrays.stream(arry);

Stream<Integer> stream1=Stream.of(1,2,3,4,5);

 

中间操作

filter:过滤流中的某些元素,

sorted(): 自然排序,流中元素需实现 Comparable 接口

distinct: 去除重复元素

limit(n): 获取 n 个元素

skip(n): 跳过 n 元素,配合

limit(n)可实现分页

map(): 将其映射成一个新的元素

/*
* 中间操作
   filter:过滤流中的某些元素,
   sorted(): 自然排序,流中元素需实现 Comparable 接口
   distinct: 去除重复元素
   limit(n): 获取 n 个元素
   skip(n): 跳过 n 元素,配合
   limit(n)可实现分页
   map(): 将其映射成一个新的元素
* */
public static void main(String[] args) {
    Integer[] arry=new Integer[]{1,2,3,3,2,4,5};
    Arrays.stream(arry)
            .filter((e)->{//过滤
                return e<5;
            })
            .sorted((o1,o2)->{//排序
                return o2-o1;
            })
            .distinct()//去重
            .forEach((e)->{//遍历
                System.out.println(e);
            });
    Stream<Integer> stream1=Stream.of(1,2,3,4,2,4,3,5);
    stream1.distinct()
            .limit(4)
            .skip(1)
            .forEach((e)->{
                System.out.println(e);
            });

终端操作

forEach: 遍历流中的元素

toArray:将流中的元素倒入一个数组

Min:返回流中元素最小值

Max:返回流中元素最大值

count:返回流中元素的总个数

Reduce:所有元素求和

anyMatch:接收一个 Predicate 函数,只要流中有一个元素满足条件则返 回 true,否则返回 false

allMatch:接收一个 Predicate 函数,当流中每个元素都符合条件时才返 回 true,否则返回 false

findFirst:返回流中第一个元素

collect:将流中的元素倒入一个集合,Collection 或 Map

/*
 * 终端操作

 forEach: 遍历流中的元素
 toArray:将流中的元素倒入一个数组
 Min:返回流中元素最小值
 Max:返回流中元素最大值
 count:返回流中元素的总个数
 Reduce:所有元素求和
 anyMatch:接收一个 Predicate 函数,只要流中有一个元素满足条件则返 回 true,否则返回 false
 allMatch:接收一个 Predicate 函数,当流中每个元素都符合条件时才返 回 true,否则返回 false
 findFirst:返回流中第一个元素
 collect:将流中的元素倒入一个集合,Collection 或 Map
 * */
 public static void main(String[] args) {
     Stream<Integer> stream1=Stream.of(1,2,3,4,2,4,3,5);
     /*stream1.distinct()
             .toArray();*/
    /*Integer max=stream1.max((o1,o2)->{
         return o1-o2;
     }).get();
     System.out.println(max);*/
  /*   Integer min=stream1.min((o1,o2)->{
         return o1-o2;
     }).get();
     System.out.println(min);*/
/*   long a=  stream1.distinct()
             .count();
     System.out.println(a);*/

     boolean res=stream1.anyMatch((e)->{
         return e>5;
     });
     System.out.println(res);
       boolean res=stream1.allMatch((e)->{
            return e>0;
        });
        System.out.println(res);
 }

 

 

 

 

 

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

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

相关文章

电力巡检穿戴式智能手环:让巡检不孤立无援

电力巡检穿戴式智能手环:让巡检不孤立无援 在电力巡检的广袤天地里中&#xff0c;电力工作人员他们身着工装&#xff0c;头戴安全帽&#xff0c;手持仪器&#xff0c;穿梭在高压线路与铁塔之间。他们的健康状态&#xff0c;直接关系到电力作业的安全与效率。如今&#xff0c;电…

【投稿资讯】区块链会议CCF A -- SP 2025 截止6.6、11.14 附录用率

会议名称&#xff1a;46th IEEE Symposium on Security and Privacy( S&P&#xff09; CCF等级&#xff1a;CCF A类学术会议 类别&#xff1a;网络与信息安全 录用率&#xff1a;2023年 195/1147&#xff0c;2024年录用了17篇和区块链相关的论文 Topics of interest inc…

JWT的详解

一.什么是JWT JWT&#xff08;JSON Web Token&#xff09;是一种开放标准&#xff08;RFC 7519&#xff09;&#xff0c;用于在网络应用间安全地传递信息。它是一种紧凑的、自包含的方式&#xff0c;用于在用户和服务之间以 JSON 对象的形式安全地传输信息。 JWT 主要由三部分…

百度智能云参与信通院多项边缘计算标准编制,「大模型时代下云边端协同 AI 发展研讨会」成功召开

1 中国信通院联合业界制定、发布多项标准化成果&#xff0c;推动产业发展 大模型开启了 AI 原生时代&#xff0c;云边端协同 AI 构建了「集中式大规模训练」、「边缘分布式协同推理」新范式&#xff0c;有效降低推理时延和成本&#xff0c;提升数据安全和隐私性&#xff0c;也…

源网络地址转换SNAT

左上角的是访问互联网发送的数据包&#xff0c;第一个是访问&#xff0c;第二个是网页传回来的 3、4项是源端口号和目的端口号&#xff08;3是随机的&#xff08;1024-65535&#xff09;&#xff0c;那个是http的网页服务端口就是80&#xff09; 那么往回传数据的时候源和目的…

美国教育数据分析

文章目录 第1关&#xff1a;认识数据第2关&#xff1a;数据预处理第3关&#xff1a;数学成绩预测 第1关&#xff1a;认识数据 编程要求 根据提示&#xff0c;在右侧Begin-End区域补充代码&#xff0c;查看数据属性名称。 测试说明 程序会调用你实现的方法&#xff0c;查看数据…

Facebook隐私保护:数据安全的前沿挑战

在数字化时代&#xff0c;随着社交媒体的普及和应用&#xff0c;个人数据的隐私保护问题日益受到关注。作为全球最大的社交平台之一&#xff0c;Facebook承载了数十亿用户的社交活动和信息交流&#xff0c;但与此同时&#xff0c;也面临着来自内外部的数据安全挑战。本文将深入…

计算机视觉SCI期刊,中科院2区,专业认可度高!

一、期刊名称 Displays 二、期刊简介概况 期刊类型&#xff1a;SCI 学科领域&#xff1a;计算机科学 影响因子&#xff1a;4.3 中科院分区&#xff1a;2区 三、期刊征稿范围 这本期刊接受有关显示技术和应用的技术&#xff0c;原创研究论文和教程论文。该期刊欢迎广泛的显…

基于 vLLM 搭建 DeepSeek-V2 Chat 服务

直奔主题。 安装vLLM 官方实现的代码还没有 merge 到 vLLM 主分支&#xff0c;所以直接 git clone DeepSeek 的分支。 git clone https://github.com/zwd003/vllm.git cd vllm pip install -e .源码安装大概耗时 10 分钟。 OpenAI 接口规范启动 官方 Github 放的是单条推理…

吉时利Keithley 2010数字万用表7.5 位

Keithley 2010数字万用表&#xff0c;7.5 位 吉时利 2010 数字万用表、7.5 位、低噪声万用表将高分辨率与生产应用所需的高速度和高准确度相结合&#xff0c;例如测试精密传感器、换能器、A/D 和 D/A 转换器、调节器、参考、连接器、开关和继电器。2010 基于与吉时利 2000、20…

Flink DataStream API 基础算子(一)

一、介绍 官网 DataStream API 得名于特殊的 DataStream 类&#xff0c;该类用于表示 Flink 程序中的数据集合。你可以认为 它们是可以包含重复项的不可变数据集合。这些数据可以是有界&#xff08;有限&#xff09;的&#xff0c;也可以是无界&#xff08;无限&#xff09;的…

k8s node NotReady后会发生什么?

K8s 是一种强大的容器编排和管理平台&#xff0c;能够高效地调度、管理和监控容器化应用程序&#xff1b;其本身使用声明式语义管理着集群内所有资源模型、应用程序、存储、网络等多种资源&#xff0c;Node 本身又属于 K8s 计算资源&#xff0c;上面承载运行着各种类型的应用程…

selenium环境安装和web自动化基础

webUI自动化背景 因为web页面经常会变化&#xff0c;所以UI自动化测试的维护成本很高。不如接口的适用面广&#xff0c;所以大部分公司会做接口自动化测试&#xff0c;但是未必会做UI自动化测试&#xff1b; UI自动化测试要做也是覆盖冒烟测试&#xff0c;不会到很高的覆盖率&a…

gpt-4o考场安排

说明 &#xff1a;经过多次交互&#xff0c;前后花了几个小时&#xff0c;总算完成了基本功能。如果做到按不同层次分配考场&#xff0c;一键出打印结果就完美了。如果不想看中间“艰苦”的过程&#xff0c;请直接跳到“最后结果”及“食用方法”。中间过程还省略了一部分交互&…

集中抄表系统是什么?

1.集中抄表系统简述 集中抄表&#xff0c;又称为智能抄表&#xff0c;是一种现代化能源管理体系技术性&#xff0c;主要运用于电力工程、水、气等公共事业的计量。它通过自动化的形式收集解决大量用户的计量数据信息&#xff0c;大大提升了数据收集的效率和精确性&#xff0c;…

基于SSM实现的新生报到系统源码+数据库+论文

项目简介 基于SSM实现的新生报到系统&#xff0c;主要分为五种用户角色&#xff0c;分别是&#xff1a; 学院管理员管理所有内容&#xff0c;涵盖了班级&#xff0c;专业&#xff0c;学院&#xff0c;学生&#xff0c;缴费以及宿舍等方面的信息&#xff0c;学院管理员可以统计…

java-查询字符串当中是否包含中文

文章目录 前言java-查询字符串当中是否包含中文 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff0c;实在白嫖的话&#xff0c;那欢迎常来啊…

2024电工杯数学建模A题思路模型代码

最新版完整内容见文末名片 A 题&#xff1a;园区微电网风光储协调优化配置 园区微电网由风光发电和主电网联合为负荷供电&#xff0c;为了尽量提高风光电量的 负荷占比&#xff0c;需配置较高比例的风光发电装机容量&#xff0c;但由于园区负荷与风光发电功 率时序不匹配&am…

噪声条件分数网络——NCSN原理解析

1、前言 本篇文章&#xff0c;我们讲NCSN&#xff0c;也就是噪声条件分数网络。这是宋飏老师在2019年提出的模型&#xff0c;思路与传统的生成模型大不相同&#xff0c;令人拍案叫绝&#xff01;&#xff01;&#xff01; 参考论文&#xff1a; ①Generative Modeling by Es…

IDEA设置运行内存

1.开启内存指示条​​​​​​​ 查看idea右下角​​​​​​​ 2.环境变量查看ideaVM地址&#xff0c;没有的话那就是默认的配置文件&#xff1a; idea 安装 bin 目录下 idea64.exe.vmoptions 3.去对应路径修改内存参数大小 4.重启IDEA&#xff0c;end