失效链接处理 |
java8新特性实战_Lambda表达式 PDF 下载
本站整理下载:
相关截图:
主要内容:
1、第一行蓝线:将集合流化
Stream(流):是一个来自数据源的元素队列并支持聚合操作
数据源:流的来源,可以是集合、数组、I/O channel、产生器generator等。
聚合操作:类似SQL语句一样的操作,比如filter,map,reduce,find,match,sorted
生成流:java8中,集合接口有俩个方法生成流
stream() 为集合创建串行流
parallelStream() 为集合创建并行流
Q1为什么实现了Collection接口,相应方法不需要实现,就可以直接用?
Q2俩个方法生成流的区别?时间、顺序
2、第二行蓝线:lambda表达式
用(parameters) -> {statements;}代码块替代了整个匿名类
方法不对参数进行修改、重写,只是在控制台打印点东西
() -> System.out.println("Hello Lambada Expressions")
如果主体只有一个表达式返回值则编译器会自动返回值,而大括号需要return 返回值
一个参数无需定义圆括号,如果主体包含了一个语句,就不需要使用大括号
不需要声明参数类型,编译器可以统一识别参数值
3、第三行蓝线:方法引用
方法引用通过方法的名字来指向一个方法;
方法引用可以使语言的构造更紧凑简洁,减少冗余代码;
方法引用使用一对冒号::
二、名词解释
Q3函数式编程vs过程式编程&面向对象编程?
结构化编程 结构化程序设计提出的原则可以归纳为32个字:自顶向下,逐步细化;清晰第一,效率第二;书写规范,缩进格式;基本结构,组合而成
函数式编程 编写程序的方法论,它属于“结构化编程”的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用
函数式接口 仅含一个抽象方法的接口,但可以指定Object定义额任何公有方法
Lambda表达式 Lambda表达式实质上是一个匿名方法,但该方法并非独立执行,而是用户实现由函数式接口定义的唯一抽象方法;
每一个lambda表达式背后必定有一个函数式接口,该表达式实现的是这个函数式接口内部的唯一抽象方法;
Lambda表达式用简洁的方式实现。
|