【无标题】

1.Lambda表达式

1.1介绍

Lambda表达式是一种没有名字的函数,也可称为闭包,是Java 8 发布的最重要新特性。

本质上是一段匿名内部类,也可以是一段可以传递的代码。

还有叫箭头函数的

1.2特点

允许把函数作为一个方法的参数(函数作为参数传递进方法中)。

使用 Lambda 表达式可以使代码变的更加简洁紧凑。

1.3和匿名内部类对比

1.4代码实现

1.4.1 语法特点

可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。        

可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。          

可选的大括号:如果主体包含了一个语句,就不需要使用大括号。        

可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值

 如果只有一条语句,并且是返回值语句,就可以不写return 不写 {} 

如果写上{}  就必须写return 和 ;

如果有 多条语句,必须写{}  return 和 ;  也必须写

案例

 1. 不需要参数,返回值为 5 

() -> 5 

 2. 接收一个参数(数字类型),返回其2倍的值 

x -> 2*x 

 3. 接受2个参数(数字),并返回他们的差值 

(x, y) -> x – y 

 4. 接收2个int型整数,返回他们的和 

(int x, int y) -> x + y 

 5. 接受一个 string 对象,并在控制台打印,不返回任何值(看起来像是返回void) 

(String s) -> System.out.print(s)

1.4.2遍历

integers.forEach(x->System.out.println(x));

2.FunCall

对象引用::成员方法

 要求:使用接口的抽象方法的入参和出参必须和调用方法的入参出参一致

 类名::静态方法名

  类名::成员方法

 3.Stream

 中间操作 又称为转换算子,对数据源进行处理
 
  一个流可以有N个中间操作,每一个中间操作都会返回一个新的流,方便下一个操作使用,可以做到链式调用
  
  但是一个流只能有一个终止操作
  
  如果不执行终止操作,中间操作也不会执行
  
  filter:对元素进行筛选,不符合条件的就不要了
  
  distinct:去掉重复的元素
  
  limit:取一个数据集合的前几条数据
  
  skip:跳过多少元素
  
  sorted:排序
  
  map:在遍历集合的过程中对数据进行操作

 终止操作 又称动作算子
  
  forEach 循环遍历
  
  collect 收集器
  
  计算相关 min,max,count,avrage
  
  匹配相关  anyMatch,allMatch

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值