JDK8新特性
文章平均质量分 94
江七7
智者顺时而谋,愚者逆时而动
展开
-
方法引用
一、概述在学习 lambda 表达式之后,我们通常使用 lambda 表达式来创建匿名方法。然而,有时候我们仅仅是调用了一个已存在的方法。如下:Arrays.sort(stringsArray,(s1, s2)->s1.compareToIgnoreCase(s2));在 Java8 中,我们可以直接通过方法引用来简写 lambda 表达式中已经存在的方法。Arrays.sort(stringsArray, String::compareToIgnoreCase);这种特性就叫做方法引用(M原创 2021-08-24 10:10:59 · 1470 阅读 · 1 评论 -
Stream流
文章目录一、引言1.1 传统集合的多步遍历代码1.2 Stream写法二、Stream概念三、Stream操作步骤四、创建Stream4.1 根据Collection获取流4.2 根据Map获取流4.3 根据数组获取流五、中间操作5.1 过滤:filter5.2 映射:map5.3 截取:limit5.4 跳过:skip5.5 排序:sorted5.6 去重:distinct六、终止操作6.1 逐一处理:forEach6.2 元素组合:reduceJava 8 是一个非常成功的版本,这个版本新增的Stre原创 2021-08-21 23:47:46 · 141 阅读 · 0 评论 -
函数式接口
本次讲解主要内容自定义函数式接口函数式编程常用函数式接口文章目录一、函数式接口1.1 概念1.2 格式1.3 @FunctionalInterface 注解1.4 自定义函数式接口二、函数式编程2.1 lambda的延迟执行性能浪费的日志案例Lambda优化日志案例2.2 使用Lambda作为参数和返回值三、常用的函数式接口3.1 Supplier接口概述练习--求数组元素最大值3.2 Consumer接口概述默认方法:andThen练习--格式化打印信息3.3 Predicate 接口概述默认原创 2021-08-19 22:00:28 · 244 阅读 · 1 评论 -
Lambda表达式简要理解
一、函数式编程思想概述在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿什么东西做什么事情”。相对而言,面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做。面向对象的思想 : 做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情。函数式编程思想 : 只要能获取到结果,谁去做的,怎么做的都不重要,重视的是结果,不重视过程二、冗余的Runnable代码2.1 传统写法当需要启动一个线程去转载 2021-08-12 16:02:35 · 234 阅读 · 0 评论 -
Java--Lambda表达式
一、回顾匿名内部类1.1 使用实现类要启动一个线程,需要创建一个Thread类的对象并调用start方法。而为了指定线程执行的内容,需要调用 Thread 类的构造方法:public Thread(Runnable target)为了获取 Runnable 接口的实现对象,可以为该接口定义一个实现类 RunnableImpl :public class RunnableImpl implements Runnable { @Override public void run() { Sy原创 2021-08-12 22:00:02 · 625 阅读 · 0 评论