一句话解释Java 8 流streams 和函数式接口、λ表达式的关系

Java 8的流streams是个小精灵,它藏在数组Arrays和集合collection 背后,可以用stream()把它召唤出来。

小精灵处理数据威力非凡,可它不能赤手空拳干活啊,它手持一个很神奇的兵器,这个兵器叫函数式接口functional interface ,那这个兵器长什么样呢?它虽然神奇,但样子却非常朴素自然。它有个怪怪的名字:λ表达式。

哈,下面开始好好说话。

streams 就是一个小精灵,它的API很强大,使用这些API时的参数就是函数式接口,而函数式接口以λ表达式实现,所以长成λ表达式的样子。三者的关系就是这样。

By the way, λ表达式的来历可不简单,它和图灵机是等价的,就是说,世界上一切算法都是图灵机,所以一切算法都可写成λ表达式,只不过复杂算法写起来很麻烦而已。所以说,Java 8 引入λ表达式是有点底气的。

相关推荐
云烟成雨TD21 小时前
Spring AI Alibaba 1.x 系列【6】ReactAgent 同步执行 & 流式执行
java·人工智能·spring
于慨21 小时前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
swg32132121 小时前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
gelald21 小时前
SpringBoot - 自动配置原理
java·spring boot·后端
殷紫川21 小时前
深入理解 AQS:从架构到实现,解锁 Java 并发编程的核心密钥
java
一轮弯弯的明月21 小时前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
chenjingming66621 小时前
jmeter线程组设置以及串行和并行设置
java·开发语言·jmeter
殷紫川1 天前
深入拆解 Java volatile:从内存屏障到无锁编程的实战指南
java
eddieHoo1 天前
查看 Tomcat 的堆内存参数
java·tomcat
那个失眠的夜1 天前
Mybatis延迟加载策略
xml·java·数据库·maven·mybatis