台州网站建站公司,黄酒的电商网页设计网站,郑州网站seo技术,手机微信网页版网址一、 什么是函数式编程 #xff1f;
二、 什么是lambda表达式#xff1f;
1. 先看两个示例
A.【创建线程】
B.【数组排序-降序】
2. lambda表达式特性
A. 使用场景(前提):
B. 语法
(params) - expression
C. 参数列表
D. 方法体
F. 好处 一、 什么是函数式编…一、 什么是函数式编程
二、 什么是lambda表达式
1. 先看两个示例
A.【创建线程】
B.【数组排序-降序】
2. lambda表达式特性
A. 使用场景(前提):
B. 语法
(params) - expression
C. 参数列表
D. 方法体
F. 好处 一、 什么是函数式编程 将一个函数也称“行为”作为一个参数进行传递 面向对象编程是对数据的抽象(各种各样的POJO类)而函数式编程则是对行为的抽象 (将行为作为一个参数进行传递) 支持版本JDK 8 及以上 二、 什么是lambda表达式
1. 先看两个示例
A.【创建线程】 jdk8之前 new Thread(new Runnable() {Overridepublic void run() {System.out.println(【创建线程】jdk8之前);}}).start();jdk8之后 Lambda表达式
new Thread(()- System.out.println(【创建线程】jdk8之后 Lambda表达式)).start();
B.【数组排序-降序】 jdk8之前 ListString list Arrays.asList(aaa, bbb, ccc, ddd);Collections.sort(list, new ComparatorString() {Overridepublic int compare(String o1, String o2) {return o1.compareTo(o2);}});System.out.println(jdk8之前写法升序》);for (String s : list) {System.out.println( s);} jdk8之后 Lambda表达式 Collections.sort(list, (a, b) - b.compareTo(a));System.out.println(jdk8之后lambda写法降序》);for (String s : list) {System.out.println(s);}
2. lambda表达式特性
A. 使用场景(前提): 一个接口中只包含一个方法则可以使用Lambda表达式 这样的接口称之为函数接口 B. 语法
(params) - expression 第一部分为括号内用 逗号分隔的形式参数参数是函数式接口里面方法的参数 第二部分为一个箭头符号:-; 第三部分为 方法体可以是表达式和代码块 C. 参数列表 括号中参数列表的数据类型可以省略不写 括号中的参数只有一个那么参数类型和()都可以省略不写 D. 方法体 如果{}中的代码只有一行无论有返回值可以省略 {}return分号 {}return分号 要一起省略
//两种写法等效Collections.sort(list, (a, b) - b.compareTo(a));Collections.sort(list, (a, b) - {return b.compareTo(a);}); F. 好处 Lambda 表达式的实现方式在本质是以匿名内部类的方式进行实现 重构现有髓肿代码更高的开发效率尤其是集合Collection操作