2024年Java最全Lambda 表达式 - java - 细节狂魔,成功定级腾讯T3-2

文章介绍了MySQL性能调优的基础资源,包括学习大纲和系统化资料链接,并详细讲解了Lambda表达式的概念、定义、使用和变量捕获。此外,还强调了Java面试中Spring框架的重要性以及正确的面试态度。
摘要由CSDN通过智能技术生成

最后

小编利用空余时间整理了一份《MySQL性能调优手册》,初衷也很简单,就是希望能够帮助到大家,减轻大家的负担和节省时间。

关于这个,给大家看一份学习大纲(PDF)文件,每一个分支里面会有详细的介绍。

image

这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记(MySQL+Tomcat+JVM)!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取


// 1. 不需要参数,返回值为 2

() -> 2

// 2. 接收一个参数(数字类型),返回其2倍的值

x -> 2 * x

// 3. 接受2个参数(数字),并返回他们的和

(x, y) -> x + y

// 4. 接收2个int型整数,返回他们的乘积

(int x, int y) -> x * y

// 5. 接受一个 string 对象,并在控制台打印,不返回任何值(看起来像是返回void)

(String s) -> System.out.print(s)




函数式接口

====================================================================

要了解Lambda表达式,首先需要了解什么是函数式接口,

函数式接口定义:一个接口有且只有一个抽象方法

注意


1、如果一个接口只有一个抽象方法,那么该接口就是一个函数式接口

2、 如果我们在某个接口上声明了 @FunctionalInterface 注解,那么编译器就会按照函数式接口的定义来要求

该接口,这样如果有两个抽象方法,程序编译就会报错的。所以,从某种意义上来说,只要你保证你的接口

中只有一个抽象方法,你可以不加这个注解。加上就会自动进行检测的。


定义方式


在这里插入图片描述


实践 : 简写匿名类


在这里插入图片描述


Lambda表达式的基本使用

=============================================================================

无返回值, 一个参数的函数式接口


在这里插入图片描述


无返回值,多个参数


在这里插入图片描述

本质上来说: sout 语句的花括号也可以省略,但是我那样更规范一点,要加什么也方便。

小括号就不能省略了,那是多个参数。


有返回值,无参数


在这里插入图片描述


有返回值,有一个参数


在这里插入图片描述


有返回值,多个参数


在这里插入图片描述


特殊用法:重写Comparator 的 比较规则。


在这里插入图片描述


变量捕获

===================================================================

Lambda 表达式中存在变量捕获 ,了解变量捕获之后,我们才能更好的理解Lambda 表达式的作用域 。Java的匿名类中,会存在变量捕获。


实例 :匿名内部类 - 变量捕获


在这里插入图片描述


实例 - Lambda的变量捕获


在这里插入图片描述


总结


变量捕获只能捕获: 一个常量,或者是一个未被修改过的变量.


Lambda在集合当中的使用

=============================================================================

为了能够让Lambda和Java的集合类集更好的一起使用,集合当中,也新增了部分接口,以便与Lambda表达式对接。

| 对应的接口 | 新增的方法 |

| — | — |

| Collection | removeIf()、 spliterator()、 stream()、 parallelStream()、 forEach() |

| List | replaceAll() 、sort() |

| Map | getOrDefault()、forEach()、replaceAll()、putIfAbsent()、remove()、replace()、computeIfAbsent()、computeIfPresent()、 compute() 、merge() |

以上方法的作用可自行百度。我这里会示例一些方法的使用。

注意:Collection的forEach()方法是从接口 java.lang.Iterable 拿过来的。


Collection接口 - forEach() 方法演示


在这里插入图片描述

最后的话

无论是哪家公司,都很重视Spring框架技术,重视基础,所以千万别小看任何知识。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。
同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,好了希望这篇文章对大家有帮助!

部分截图:
在这里插入图片描述

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

知识。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。
同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,好了希望这篇文章对大家有帮助!**

部分截图:
[外链图片转存中…(img-cVpBgs00-1714865222081)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值