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

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

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

哈,下面开始好好说话。

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

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

相关推荐
BlockChain88821 小时前
SpringBoot实战一:10分钟搭建企业级用户管理系统(20000字完整项目)
java·spring boot·后端
消失的旧时光-194321 小时前
第六课 · 6.1 从 JDBC 到 MyBatis:SQL 工程化是如何发生的?
java·sql·mybatis
Jaxson Lin21 小时前
Java编程进阶:线程基础与实现方式全解析
java·开发语言
夜喵YM21 小时前
基于 Spire.XLS.Free for Java 实现无水印 Excel 转 PDF
java·pdf·excel
茶本无香21 小时前
设计模式之五—门面模式:简化复杂系统的统一接口
java·设计模式
她说可以呀1 天前
网络基础初识
java·网络·java-ee
没有bug.的程序员1 天前
Java锁优化:从synchronized到CAS的演进与实战选择
java·开发语言·多线程·并发·cas·synchronized·
麦兜*1 天前
SpringBoot Profile多环境配置详解,一套配置应对所有场景
java·数据库·spring boot
MetaverseMan1 天前
rpc节点: synchronized (this) + 双检锁,在 race condition 的情况下分析
java·区块链
笃行客从不躺平1 天前
Seata + AT 模式 复习记录
java·分布式