Lambda表达式和steram流
创始人
2024-06-01 12:51:17
0

目录

引言:

语法:

 Lambda 表达式实例:

demo演示:

 Stream流:


引言:

Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。

Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。

使用 Lambda 表达式可以使代码变的更加简洁紧凑。

语法:

lambda 表达式的语法格式如下:

(parameters) -> expression
或
(parameters) ->{ statements; }

以下是lambda表达式的重要特征:

  • 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。
  • 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。
  • 可选的大括号:如果主体包含了一个语句,就不需要使用大括号。
  • 可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定表达式返回了一个数值。

 Lambda 表达式实例:

// 1. 不需要参数,返回值为 5  
() -> 5  // 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)

demo演示:

 public static void main(String args[]){Java8Tester tester = new Java8Tester();// 类型声明MathOperation addition = (int a, int b) -> a + b;// 不用类型声明MathOperation subtraction = (a, b) -> a - b;// 大括号中的返回语句MathOperation multiplication = (int a, int b) -> { return a * b; };// 没有大括号及返回语句MathOperation division = (int a, int b) -> a / b;System.out.println("10 + 5 = " + tester.operate(10, 5, addition));System.out.println("10 - 5 = " + tester.operate(10, 5, subtraction));System.out.println("10 x 5 = " + tester.operate(10, 5, multiplication));System.out.println("10 / 5 = " + tester.operate(10, 5, division));// 不用括号GreetingService greetService1 = message ->System.out.println("Hello " + message);// 用括号GreetingService greetService2 = (message) ->System.out.println("Hello " + message);greetService1.sayMessage("Runoob");greetService2.sayMessage("Google");}interface MathOperation {int operation(int a, int b);}interface GreetingService {void sayMessage(String message);}private int operate(int a, int b, MathOperation mathOperation){return mathOperation.operation(a, b);}

 输出结果:

 

使用 Lambda 表达式需要注意以下两点:

  • Lambda 表达式主要用来定义行内执行的方法类型接口(例如,一个简单方法接口)。在上面例子中,我们使用各种类型的 Lambda 表达式来定义 MathOperation 接口的方法,然后我们定义了 operation 的执行。

  • Lambda 表达式免去了使用匿名方法的麻烦,并且给予 Java 简单但是强大的函数化的编程能力。


 Stream流:

之前总结过,点下链接查看:

 stream流_别活在过去i的博客-CSDN博客

相关内容

热门资讯

安卓系统放音乐全屏,沉浸式听觉... 你有没有发现,用安卓手机放音乐的时候,有时候屏幕会自动全屏显示,这可真是挺有趣的。你知道吗?这个小小...
安卓子系统是win,基于Win... 你知道吗?在科技的世界里,总是充满了惊喜和未知。今天,我要给你揭秘一个你可能没听说过的秘密:安卓子系...
金刚导航升级安卓系统,畅享智能... 你知道吗?最近金刚导航可是来了一次大变身呢!没错,就是那个我们平时出行时离不开的导航神器——金刚导航...
安卓系统有话筒软件,畅享便捷沟... 你有没有发现,手机里的安卓系统里竟然藏着这么一个神奇的小玩意儿——话筒软件!没错,就是那个可以让你随...
安卓备份系统版本更新,版本更新... 你知道吗?最近安卓备份系统又来了一次大更新,这可真是让人兴奋不已呢!想象你的手机备份功能变得更加智能...
htc怎么降级安卓系统,轻松恢... 你有没有发现,有时候手机系统更新后,新功能虽然多了,但速度却慢了下来,甚至有些功能还不太好用?这不,...
索尼电视安卓系统优点,畅享无限 亲爱的电视迷们,你是否在寻找一款既能满足你对画质追求,又能让你畅享智能生活的电视呢?今天,就让我带你...
智能驭领系统安卓,引领未来智能... 你有没有发现,最近手机界又掀起了一股热潮?没错,就是那个让人眼前一亮的智能驭领系统安卓!今天,就让我...
安卓u15.1系统,功能升级与... 你有没有发现,最近你的安卓手机更新到了U15.1系统?别小看了这个小小的升级,它可是带来了不少惊喜呢...
安卓系统坐标软件下载,下载与使... 你有没有想过,在手机上精准定位,是不是就像拥有了超级英雄的技能呢?想象无论你是想找到那个隐藏在街角的...
车载系统显示安卓图标,智能驾驶... 你有没有发现,最近你的车载系统里多了一些新玩意儿?没错,就是那些安卓图标!是不是觉得有点眼花缭乱,但...
安卓7.0 系统微信,Andr... 你知道吗?最近安卓7.0系统更新后,微信的使用体验可是有了翻天覆地的变化呢!今天,就让我带你一起探索...
安卓系统多开怎么玩,解锁多任务... 你有没有想过,在安卓手机上同时打开多个应用,是不是感觉像拥有了超能力?没错,这就是我们今天要聊的话题...
安卓2g系统,展望未来 你有没有想过,你的手机里那个看似古老、实则承载着无数回忆的安卓2G系统呢?它就像一位老朋友,陪伴着我...
安卓平板系统权限软件,全面解析... 你有没有发现,现在安卓平板的用途越来越广泛了?从办公到娱乐,从学习到游戏,平板电脑几乎成了我们生活中...
安卓系统给ios赠送,跨平台融... 你知道吗?最近在科技圈里,安卓系统和iOS系统之间又上演了一场“跨界送礼”的大戏。没错,就是那个我们...
平板安卓系统备份还原,轻松实现... 你有没有遇到过这种情况:平板里的照片、视频、联系人等重要数据突然不见了,心里那个急啊!别担心,今天就...
vc 安卓系统开发,基于VC与... 你有没有想过,为什么你的手机里那么多应用,而有些应用却能在众多竞争者中脱颖而出,成为你日常生活的得力...
安卓系统的平板测评,性能与体验... 你有没有想过,在这个科技飞速发展的时代,拥有一款性能卓越的平板电脑是多么酷炫的事情啊!想象在阳光明媚...
小米手环系统不是安卓,非安卓生... 你有没有想过,那个陪伴你每天锻炼、监测健康的小米手环,它的系统竟然不是安卓?没错,就是那个我们熟悉的...