愿景:"让编程不再难学,让技术与生活更加有趣"
更多架构课程请访问 xdclass.net
目录
第1集 Java新特性玩转 JDK8之 lambda表达式
简介:讲解什么是函数式编程和什么是lambda表达式
-
在JDK8之前,Java是不支持函数式编程的,所谓的函数编程,即可理解是将一个函数(也称为“行为”)作为一个参数进行传递, 面向对象编程是对数据的抽象(各种各样的POJO类),而函数式编程则是对行为的抽象(将行为作为一个参数进行传递)
-
java创建线程再熟悉不过了
-
jdk8之前创建线程
new Thread(new Runnable() { @Override public void run() { System.out.println("小滴课堂学习Java架构教程"); } });
-
jdk8之后Lambda表达式则只需要使用一句话
new Thread(() -> System.out.println("小滴课堂学习Java架构教程"));
-
-
集合容器里面的字符串排序 使用前
List<String> list =Arrays.asList("aaa","ggg","ffff","ccc"); Collections.sort(list, new Comparator<String>() { @Override public int compare(String a, String b) { return b.compareTo(a); } } ); for (String string : list) { System.out.println(string); } 使用后 List<String> list =Arrays.asList("aaa","ggg","ffff","ccc"); Collections.sort(list, (a,b)->b.compareTo(a) ); for (String string : list) { System.out.println(string); }
-
lambda表达式 使用场景(前提):一个接口中只包含一个方法,则可以使用Lambda表达式,这样的接口称之为“函数接口” 语法: (params) -> expression
第一部分为括号内用逗号分隔的形式参数,参数是函数式接口里面方法的参数;第二部分为一个箭头符号:->;第三部分为方法体,可以是表达式和代码块 参数列表 : 括号中参数列表的数据类型可以省略不写 括号中的参数只有一个,那么参数类型和()都可以省略不写 方法体: 如果{}中的代码只有一行,无论有返回值,可以省略{},return,分号,要一起省略,其他则需要加上 好处: Lambda 表达式的实现方式在本质是以匿名内部类的方式进行实现 重构现有臃肿代码,更高的开发效率,尤其是集合Collection操作的时候,后续会讲到
第2集 Java新特性玩转JDK8之自定义函数式编程实战
简介:玩转Lambda表达式,自定义lambda接口编程
-
自定义lambda接口流程
-
定义一个函数式接口 需要标注此接口 @FunctionalInterface,否则万一团队成员在接口上加了其他方法则容易出故障
-
编写一个方法,输入需要操做的数据和接口
-
在调用方法时传入数据 和 lambda 表达式,用来操作数据
-
-
需求,定义一个可以使用加减乘除的接口 以前需要定义4个方法
使用Lambda表达式后 @FunctionalInterface public interface OperFunction<R,T> { R operator(T t1, T t2); } public static void main(String[] args) throws Exception { System.out.println(operator(20, 5, (Integer x, Integer y) -> { return x * y; })); System.out.println(operator(20, 5, (x, y) -> x + y)); System.out.println(operator(20, 5, (x, y) -> x - y)); System.out.println(operator(20, 5, (x, y) -> x / y)); } public static Integer operator(Integer x, Integer y, OperFunction<Integer, Integer> of) { return of.operator(x, y); }
干货文档
关注公众号发送:“CSDN干货文档” 即可领取