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

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

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

哈,下面开始好好说话。

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

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

相关推荐
小旭95271 分钟前
Spring Security 实现权限控制(认证 + 授权全流程)
java·后端·spring
金銀銅鐵7 分钟前
[Java] 如何通过 cglib 的 FastClass 调用一个类中的“任意”方法?
java·后端
阿维的博客日记25 分钟前
为什么会增加TreeMap和TreeSet这两类,有什么核心优势吗?可以解决什么核心痛点?
java·treeset·treemap
dllxhcjla34 分钟前
黑马头条1
java
宠友信息37 分钟前
一套基于uniapp+springboot完整社区系统是如何实现的?友猫社区源码级功能解析
java·spring boot·后端·微服务·微信·uni-app
humors2211 小时前
各厂商工具包网址
java·数据库·python·华为·sdk·苹果·工具包
无限进步_1 小时前
【C++&string】大数相乘算法详解:从字符串加法到乘法实现
java·开发语言·c++·git·算法·github·visual studio
海兰1 小时前
使用 Spring AI 打造企业级 RAG 知识库第二部分:AI 实战
java·人工智能·spring
历程里程碑2 小时前
二叉树---二叉树的中序遍历
java·大数据·开发语言·elasticsearch·链表·搜索引擎·lua
小信丶2 小时前
Spring Cloud Stream EnableBinding注解详解:定义、应用场景与示例代码
java·spring boot·后端·spring