java学习之Lambda表达式

29 篇文章 0 订阅
26 篇文章 0 订阅

Lambda表达式

Lambda是一个匿名函数:

基本语法:

<函数式接口><变量名>=(参数1,参数2…)->{//方法体 } };

Lambda引入了新的操作符:->(箭头操作符),->将表达式分成两部分,

左侧:(参数1,参数2…) 表示参数列表

右侧:{}内部式方法体

注意事项:形参列表得到数据类型会自动推断。

如果形参列表为空,只需保留()。

如果形参只有一个,()可以省略,只需要参数的名称即可。

如果执行语句只有一句,且无返回值,{}可以省略,若有返回值。则若想省去{},则必须同时省略return,且执行语句也保证只有一句。

Lambda不会生成单独的内部类文件。

函数式接口

如果一个接口只有一个抽象方法,则该接口称之为函数式接口,函数式接口可以使用Lambda’表达式。Lambda表达式会被匹配到这个抽象方法上。@Functionallnterface注解检测接口是否符合函数式接口。

方法引用:

对象::实例方法

类::静态方法

类::实例方法

类::new

Stream

流(stream)与集合类似,但集合保存的是数据,而stream中保存对集合或数组数据的操作。

Stream的特点

Stream自己不会存储元素

Stream不会改变源对象。相反,他们胡返回一个持有结果的新stream

Stream操作时有延迟执行的,会等到需要结果的时候才执行。

创建stream

  1. 通过Collection对象的stream()或parallel stream()方法
  2. 通过·Arrays类的stream()方法

  1. 通过Stream接口的of(),iterate(),generate()方法
  2. 通过Instream。Longstream、doubleStream接口中的of()、range、rangeClosed方法

中间操作

Filter、limit、skip、distinct、sorted、map、parallel

终止操作

Foreach、min、max、count、reduce、collect

!!!中间操作必须要有终止操作才会有输出

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值