Lambda表达式,Stream流

文章目录

  • Lambda表达式
    • 作用
    • 前提
      • 函数式接口
        • 特点
    • 语法
    • 省略模式
    • 和匿名对象类的区别
  • Stream流
    • 思想
    • 作用
    • 三类方法
      • 获取方法
        • 单列集合(Collection[List,Set
        • 双列集合Map(不能直接获取)
        • 数组
        • 同一类型元素(Stream中的静态方法)
      • 常见的中间方法
      • 终结方法
      • 收集方法
    • Optional类

Lambda表达式

作用

简化程序中匿名内部类代码的书写

前提

只针对函数式接口进行代码编写

函数式接口

特点

接口中仅有一个抽象方法(允许有静态方法,默认方法,私有方法)

@FunctionalInterface  //Java对函数式接口制定的注解
public interface Comparator<T> {...
}

语法

(参数,...)->{//方法体代码(要做什么事情)
}
  • ():代表一个方法,里面的参数为方法的参数
  • ->:指向要做的事情
  • {}:功能代码(具体要做的事情)

省略模式

  1. 可以省略参数类型:要么全都省略,要么全都保留
  2. 如果参数仅有一个时,可以省略小括号
  3. 如果代码块中仅有一行代码时,可以省略:大括号,分号,return

和匿名对象类的区别

Snipaste_2024-04-01_21-59-05.png

Stream流

思想

流水线那样工作
Snipaste_2024-04-02_15-41-47.png

作用

针对集合进行简化开发
Stream流的使用通常需要Lambda表达式

三类方法

  1. 获取方法:获取流(创建一个流水线)
  2. 中间方法:在流水线上进行操作
  3. 终结方法:流水线上的操作结束了,要关闭流水线(最后一个操作),一个Stream流只能有一个终结方法

获取方法

单列集合(Collection[List,Set

Stream 流对象 = 单列集合.stream();

双列集合Map(不能直接获取)
  1. 先通过keySet()或EntrySet()获取Set集合
  2. Stream 流对象 = Set集合.stream();
数组

Stream 流对象 = Arrays.stream(数组);

同一类型元素(Stream中的静态方法)

Stream 流对象 = Stream.of(同一类型元素,同一类型元素,…);

常见的中间方法

Snipaste_2024-04-02_16-13-33.png
Snipaste_2024-04-02_16-13-41.png

终结方法

Snipaste_2024-04-02_17-39-26.png

收集方法

Snipaste_2024-04-02_17-49-11.png

Optional类

可以用这个类中的方法判断是否为空
Snipaste_2024-04-02_18-29-11.png

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

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

相关文章

【nc工具信息传输】

nc&#xff0c;全名叫 netcat&#xff0c;它可以用来完成很多的网络功能&#xff0c;譬如端口扫描、建立TCP/UDP连接&#xff0c;数据传输、网络调试等等&#xff0c;因此&#xff0c;它也常被称为网络工具的 瑞士军刀 。 nc [-46DdhklnrStUuvzC] [-i interval] [-p source_po…

数控加工4轴初探

4轴加工之前一直觉得很神秘&#xff0c;最近画了些时间研究了一下&#xff0c;做过之后发现起始也不是特别复杂。 图中是两步&#xff0c;一步是粗开&#xff0c;已不是用指形铣刀精加工螺旋槽。

Flask Python:如何获取不同请求方式的参数

目录 前言 1. 获取GET请求中的查询参数 2. 获取POST请求中的表单数据 3. 获取JSON数据 总结 前言 在使用Flask开发Web应用时&#xff0c;我们经常需要获取不同请求方式的参数。Flask提供了多种方式来获取不同请求方式的参数&#xff0c;包括GET请求中的查询参数、POST请求…

EF数据持久化(三层架构,公司查,改)

效果图 Model设置具体流程在下面链接中 https://blog.csdn.net/Mr_wangzu/article/details/136805824?spm1001.2014.3001.5501 DAL using System; using System.Collections.Generic; using System.Linq; using System.Web; using WebApplication2.Models; namespace WebAppli…

LeetCode——动态规划(Java)

动态规划 简介[简单] 509. 斐波那契数[简单] 70. 爬楼梯[简单] 746. 使用最小花费爬楼梯[中等] 62. 不同路径[中等] 63. 不同路径 II[中等] 343. 整数拆分[中等] 96. 不同的二叉搜索树背包问题01背包[中等] 416. 分割等和子集[中等] 1049. 最后一块石头的重量 II[中等] 494. 目…

关于搭建电商独立站跨境电商接入主流电商平台API商品接口对于商品功能模块的巨大应用

功能设计 首先我们来看下mall项目中商品功能的设计&#xff0c;主要包括商品管理、添加\编辑商品、商品分类、商品类型、品牌管理等功能&#xff0c;这里的功能同时涉及前台商城和后台管理系统。 商品管理【接入主流电商平台商品API接口丰富自建商城商品】 在mall项目的后台管…

什么牌子的骨传导耳机值得入手?盘点五大业界公认靠谱品牌推荐!

骨传导耳机作为新型蓝牙耳机款式&#xff0c;凭借不入耳佩戴更健康等特点&#xff0c;赢得了消费者的喜欢&#xff0c;逐渐成为热门款式&#xff0c;但随着热度增加&#xff0c;骨传导耳机行业开始出现各种品牌&#xff0c;它们没有自己的核心技术&#xff0c;大部分都是来个韭…

算法沉淀——动态规划篇(子数组系列问题(上))

算法沉淀——动态规划篇&#xff08;子数组系列问题&#xff08;上&#xff09;&#xff09; 前言一、最大子数组和二、环形子数组的最大和三、乘积最大子数组四、乘积为正数的最长子数组长度 前言 几乎所有的动态规划问题大致可分为以下5个步骤&#xff0c;后续所有问题分析都…

书生·浦语大模型实战营(第二期):书生·浦语大模型趣味Demo

目录 部署InternLM2-Chat-1.8B模型进行对话环境配置下载InternLM2-Chat-1.8B模型运行cli_demo基础作业&#xff1a;使用 InternLM2-Chat-1.8B 模型生成 300 字的小故事&#xff08;需截图&#xff09; 部署实战营优秀作品 八戒-Chat-1.8B 模型下载运行Chat-八戒 Demo 使用 Lage…

【热门话题】文言一心与ChatGPT-4:一场跨时代智能对话系统的深度比较

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 文言一心与ChatGPT-4&#xff1a;一场跨时代智能对话系统的深度比较一、技术背景…

Shell脚本介绍及基本功能

目录 一、什么是Shell 二、什么是Shell脚本 三、echo 四、Hello World 五、Bash的基本功能 1.别名 2.常用快捷键 3.输入输出 4.输出重定向 5.多命令执行 6.管道符 7.通配符和特殊符合 一、什么是Shell Shell是一种命令行解释器&#xff0c;它是操作系统的一部分&a…

【数据处理包Pandas】分组及相关操作

目录 一、初步认识分组并查看分组信息&#xff08;一&#xff09;通过聚合函数查看分组信息&#xff08;二&#xff09;转换成列表查看所有组的信息&#xff08;三&#xff09;通过循环查看各组的名称和组中的数据信息&#xff08;四&#xff09;通过get_group()方法直接获得一…