Lambda expression
JDK1.8 Lambda表达式学习。
简单代码示例,便于理解简写后的代码。
EngineerForSoul
我醉欲眠卿且去,明朝有意抱琴来
书山有路勤为径,学海无涯苦作舟
同是天涯沦落人,相逢何必曾相识
展开
-
Lambda_14 函数表达式 Stream Concat拼接流
Stream Concat拼接流1、concat 流的拼接2、concat 拼接多个流public class Lambada15 { public static void main(String[] args) { List<Student> s1 = Arrays.asList(new Student("张三", 18), new Student("李四", 19)); List<Student> s2原创 2020-11-08 20:09:42 · 489 阅读 · 0 评论 -
Lambda_13 函数表达式 Stream map reduce聚合计算方法
Stream reduce聚合计算方法通常于map搭配使用 map 提取需要统计的数据reduce聚合计算方法 进行统计代码示例:public class Lambda14 { public static void main(String[] args) { List<Student> students = Arrays.asList(new Student("张三", 18), new Student("李四", 19),原创 2020-11-08 16:51:27 · 1009 阅读 · 0 评论 -
Lambda_12 函数表达式 Stream Collector集合数据流转换
Stream Collector集合数据流转换Collector集合转换Collector数据流转换代码示例:public class Lambda13 { public static void main(String[] args) { List<String> list = Arrays.asList("L", "A", "M", "B", "D", "A"); //将list集合转换为字符串,使用特殊字符分割 String原创 2020-11-08 16:23:04 · 314 阅读 · 0 评论 -
Lambda_11 函数表达式 Stream流数据处理skip、limit方法
stream流数据处理skip、limit方法stream skip跳行方法stream limit 限行方法skip 和 limit 组合 实现内存分页代码示例:public class Lambda12 { public static void main(String[] args) { List<String> list = Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10")原创 2020-11-08 15:50:11 · 1563 阅读 · 0 评论 -
Lambda_10 函数表达式 Stream flatMap
Lambda_09 函数表达式 Stream flatMap通过匿名内部类实现业务或lambda表达式多维度(数组)转换数据数据结构层级将维public class Lambda11 { public static void main(String[] args) { List<Integer> listSingle = Arrays.asList(1, 3, 5, 7); List<Integer> listDouble = Ar原创 2020-11-08 11:40:38 · 1100 阅读 · 0 评论 -
Lambda_09 函数表达式 Stream map
Lambda_08 函数表达式 Stream map提取stream中的数据返回。Stream map 特点通过匿名内部类实现业务或Lambda表达式数据映射转换数据并行计算代码示例:public class Lambda10 { public static void main(String[] args) { List<Student> list = Arrays.asList(new Student("张三", 18),原创 2020-11-08 11:02:06 · 355 阅读 · 0 评论 -
Lambda_08 函数表达式 Stream filter筛选
Lambda_08 函数表达式 Stream filter筛选特点:过滤集合中元素需要条件表达式全集 --到–>子集创建内部类:Student使用匿名类实现筛选,使用匿名类主要是便于理解使用功能lambda表达时,容易想想其内容是怎么实现的。public class Lambda09 { public static void main(String[] args) { List<Student> students = Arrays.asList(n原创 2020-11-08 10:57:02 · 1640 阅读 · 0 评论 -
Lambda_07 函数表达式forEach遍历和普通遍历的区别
Lambda_07 函数表达式forEach遍历和普通遍历的区别传统遍历方法Lambda 遍历Lambda 遍历 简化版传统遍历方法/*** 传统遍历方法*/System.out.println("==================传统遍历方法===============");for (String str : list) { System.out.println(str);}Lambda 遍历/*** Lambda 遍历*/System.out.println("===原创 2020-11-08 10:51:22 · 412 阅读 · 0 评论 -
Lambda_06 函数表达式创建线程对象
Lambda_05 函数表达式创建线程对象1、创建Thread对象,重写匿名内部类的run方法2、匿名内部类 使用Lambda表达式编写3、简化编写线程代码的冗余度代码示例public class Lambda07 { public static void main(String[] args) { /** * Java 匿名内部类实现线程 */ Thread thread0 = new Thread(new Runnab原创 2020-11-08 10:45:59 · 307 阅读 · 0 评论 -
Lambda_05 函数表达式引用构造方法
Lambda_05 函数表达式引用构造方法声明接口,接口作为对象的生成器创建对象的形式 类名::new调用接口的方法可以返回该对象的实例声明接口,接口作为对象的生成器声明接口@FunctionalInterfaceinterface PersonInterface1 { public Person interfaceFun();}@FunctionalInterfaceinterface PersonInterface2 { public Person interfaceFu原创 2020-11-08 10:36:17 · 172 阅读 · 0 评论 -
Lambda_04 函数表达式引用静态方法,非静态方法
Lambda函数表达式引用方法1、前提条件:实现接口的入参、返回值类型与接口的抽象方法一致创建内部接口LambdaInterface51 添加加法interfaceSum抽象方法LambdaInterface52添加减法interfaceSub抽象方法、可以添加@FunctionalInterface 注释2、Lambda引用静态方法创建静态方法public static int sum (int a,int b){ return a+b; ...原创 2020-11-07 23:45:52 · 1226 阅读 · 0 评论 -
Lambda_03 函数式接口@FunctionalInterface
函数式接口@FunctionalInterface在Lambda_01 中使用了Runnable举例,那么Runable为什么可以使用Lambda表达式呢?通过阅读源代码分析:在JDK1.8中Runable加入了注解==@FunctionalInterface:函数式接口==什么样的接口是函数式接口接口中有且只有一个抽象方法的函数接口,多了编译将报错。interface LambdaInterface4{ //抽象方法fun1 public void fun1(); //抽象原创 2020-10-22 00:17:19 · 141 阅读 · 0 评论 -
Lambda_02 Lambda实现 有参、无参、多参、有无返回值函数
Lambda 无参、有参、有返回值、无返回值public class Lambda03 { public static void main(String[] args) { /** * 一个String入参 */ LambdaInterface31 lambdaInterface31 = (String str) -> System.out.println("welcome:" + str); lambdaI原创 2020-10-21 23:42:25 · 1159 阅读 · 0 评论 -
Lambda_01 lambda expression 基础语法
Lambda函数Java实现匿名函数创建内部接口 LambdaInterface01实现接口LambdaInterface01的方法fun()调用方法Lambda和Java实现匿名函数的区别new LambdaInterface01() 直接简化为()方法名public void fun() 简化为 ->代码示例package com.lingyiwin;/** * @author lingyiwin * @version 1.0 * @date 2020/1原创 2020-10-21 23:07:50 · 188 阅读 · 1 评论