前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >lambda表达式在实际开发中的使用

lambda表达式在实际开发中的使用

原创
作者头像
shigen
发布于 2023-10-06 08:26:26
发布于 2023-10-06 08:26:26
2370
举报

作为写代码已经两年的程序员了,lambda已经是再熟悉不过了。其实在众多的编程语言中,python javascript java中都有lambda的影子。包括比较新的编程语言golang,到最后发现其实各种语言的语法和特性都是相互抄袭的,所以在接触新技术的时候,很容易触类旁通。

那接下来shigen将会展示在实际的开发中,用到过的lambda的详细使用案例。你会发现代码减少了很多,而且看起来更加的优雅了!

python

在这里shigen就直接上代码截图了。

在我再次尝试书写的时候,我发现在python里,其实关键词就是filter map lambda,我们来看看最长的一行代码中,map给的提示:

其实就是这样的一层层的嵌套,我们只需要去满足对应的参数类型即可实现畅快的使用lambda表达式。在我的文章树形结构的快速生成中也有用到lambda表达式实现数据的过滤。

shigen在实际的开发中遇到的最多的场景也是这样的,其它的快捷操作后续将会持续补充。

javascript

其实jslambda用法和python的非常像,特别是在接触vue之类的框架和ts以后,用的非常多,涉及到的最多的就是对于数组对象的处理。shigen在这里一时半伙也找不出很好的实际案例,在这里先列举一下我用上边的python代码改写之后的效果:

其实第一感觉就是无缝的切换,除了一些关键字不同之外。

那下边的重头戏来了,我们看看java的实现,这里的部分内容参考了文章:值得使用Lambda的8个场景,别再排斥它了!

java

作为我研究比较久的语言之一,我喜欢用它的新语法简化实际的开发。最近写的代码有这样的:

正如我的注释写的,将复杂的数据变成两个数组,然后包装在一起,作为echarts的数据源。

一些简单的操作写法和上边的python js语法相同,在这里我写一些不常见但是很常用的写法:

集合的聚合操作

其实这里引入了reduce这个api,我们看一下注释:

这里 min max average 都是可以使用的,并且不需要去加锁,考虑线程安全的问题。

条件过滤和默认值

先来看一下代码:

这里用到了Optional 和filter的组合。很好的解决了空指针的问题,也减少了if else的判断。

匿名内部类

最常见的还是线程池的创建了:

代码语言:java
AI代码解释
复制
new Thread(() -> System.out.println("Thread is running.")).start();

new Thread(() -> {
    // do something
}).start();

针对的是接口的实现类只有一个方法的情况。

集合元素的转换

我们还是先来看下代码案例:

这里是将数组转换成集合,官方的代码API中也给了其它的使用案例,包括分组统计,其实具体的案例可以在调用API的时候,稍微注意一下官方的文档。

大数据量进行并行处理

这里主要用到的是parallelStream(),其它的用法和stream的用法是相同的。对于线程安全的问题,我目前还有一点点的争议,后期会专门出一期文章讲解这个,我们共同期待!


以上就是《lambda表达式在实际开发中的使用》的全部内容了,觉得不错的话,记得点赞支持一下哈!

shigen一起,每天不一样!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Lambda表达式
从2014年java8发布到现在已经有几个年头了,现在java11都发布了。公司最近把服务器环境重新搭建了一遍,jdk版本也从7换成了8,终于可以在代码里面写Lambda表达式了。作为一名java开发人员,java8的一些新东西也是必须要掌握的,今天就说说这Lambda表达式的使用。
用户4283147
2022/10/08
4750
Lambda表达式
Lambda表达式
这里我们添加了一些自定义代码到 Schedule 监听器中,需要先定义匿名内部类,然后传递一些功能到 onSchedule 方法中。
一觉睡到小时候
2019/09/25
7070
Lambda表达式
Lambda表达式你会用吗?
我们先看看什么是函数。函数是一种最基本的任务,一个大型程序就是一个顶层函数调用若干底层函数,这些被调用的函数又可以调用其他函数,即大任务被一层层拆解并执行。所以函数就是面向过程的程序设计的基本单元。
说故事的五公子
2021/01/21
9120
Python的lambda表达式
介绍几个 序列处理的函数,比如序列过滤、把所有元素都拿过来做某些操作,这种的序列处理函数。
py3study
2020/01/07
6560
Python的lambda表达式
java lambda表达式详解_lambda表达式有什么组成
我们知道,在Java中,接口是不能实例化的,但是接口对象可以指向它的实现类对象。如果接口连实现对象都没有呢?那还可以使用匿名类的方式,如下:
全栈程序员站长
2022/11/18
4400
java lambda表达式详解_lambda表达式有什么组成
Lambda表达式与Stream API
  Java8最具革命性的两个新特性是Lambda表达式和Stream API,它们都是基于函数式编程的思想,函数式编程给Java注入了新鲜的活力。
别团等shy哥发育
2023/02/25
2.3K0
Lambda表达式与Stream API
急速上手之Lambda表达式
​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FsSXzLwK-1614301616777)(D:\学习笔记\Java SE\Java JDK8新特性\JDK8新特性.assets\03-Overview.png)]
上分如喝水
2021/08/16
3330
Java8中的Lambda表达式
大家好啊,我是汤圆,今天给大家带来的是《Java8中的Lambda表达式》,希望对大家有帮助,谢谢
汤圆学Java
2021/04/16
3340
Java8中的Lambda表达式
Lambda表达式:简介、语法和用法
Lambda表达式是Java 8中引入的一个重要特性,它允许开发者以更加简洁的方式编写函数式代码。在本文中,我们将深入探讨Lambda表达式的概念、语法和用法,并为每个实例提供代码演示,同时对比与传统方法的区别和优势。
默 语
2024/11/20
1620
【C++修炼之路】29.lambda表达式
在C++98中,如果想要对一个数据集合中的元素进行排序,可以使用std::sort方法,如果待排序元素为自定义类型,需要用户定义排序时的比较规则,这个比较规则既可以是我们C语言时的函数指针,也可以是C++中的仿函数,,下面的例子就是利用仿函数的方式。
每天都要进步呀
2023/03/28
3640
【C++修炼之路】29.lambda表达式
Lambda表达式学习笔记
匿名内部类语法冗余,体验了Lambda表达式后,发现Lambda表达式是简化匿名内部类的一种方式。
Java鱼头
2022/10/10
2401
Java8 Lambda表达式.md什么是λ表达式λ表达式的类型λ表达式的使用其它相关概念
为了支持函数式编程,Java 8引入了Lambda表达式. 在Java 8中采用的是内部类来实现Lambda表达式.具体实现代码,可以通过debug看, 同时通过字节码查看工具及反编译工具来验证.
一个会写诗的程序员
2018/08/20
1.7K0
【Java 基础篇】Java Lambda表达式详解
Lambda表达式是Java编程语言中引入的一个强大的特性,它使得编写更加简洁、可读性更强的代码变得更容易。本文将详细介绍Lambda表达式的概念、语法、用法以及示例,以帮助基础的Java开发者理解和应用Lambda表达式。
繁依Fanyi
2023/10/12
5610
【Java 基础篇】Java Lambda表达式详解
详解Lambda表达式
函数式编程思想概述:在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿什么东西做什么事情”。相对而言,面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做。做什么,而不是怎么做,我们真的希望创建一个匿名内部类对象吗?不。我们只是为了做这件事情而不得不创建一个对象。
框架师
2019/11/10
4710
Lambda表达式
当需要启动一个线程去完成任务时,通常会通过 java.lang.Runnable 接口来定义任务内容,并使用java.lang.Thread 类来启动该线程。代码如下:
咕咕星
2020/08/19
4850
Lambda表达式
Lambda表达式与函数式接口:什么是Lambda表达式?如何在JDK 8中实现匿名函数?
在JDK 8之前,写匿名类非常繁琐,代码冗长,特别是用来实现简单的功能时。JDK 8引入了Lambda表达式和函数式接口,让Java代码更加简洁、灵活。在本篇文章中,猫头虎将详细解析:
猫头虎
2024/12/18
1150
Lambda表达式与函数式接口:什么是Lambda表达式?如何在JDK 8中实现匿名函数?
1 什么是Lambda表达式
Lambda表达式的语法是非常简洁的,但是Lambda表达式不是随便使用的,使用时有几个条件要特别注 意
用户7630333
2023/12/07
1410
9-Lambda表达式
Lambda表达式是JDK1.8开始之后的新技术,是一种代码的新语法,是一种特殊写法
Ywrby
2022/10/27
2130
Java8Lambda表达式
使用 Lambda 表达式可以使代码变的更加简洁紧凑。有了Lambda表达式,java将开启函数式编程的大门。
二十三年蝉
2018/08/01
1.1K0
Java8Lambda表达式
python3之lambda表达式
lambda表达式本身是一个非常基础的python函数语法,其基本功能跟使用def所定义的python函数是一样的,只是lambda表达式基本在一行以内就完整的表达了整个函数的运算逻辑。这里我们简单展示一些lambda表达式的使用示例,以供参考。
DechinPhy
2021/05/21
7840
相关推荐
Lambda表达式
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档