| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Kotlin入门笔记(九)集合的函数式编程 API(上) -> 正文阅读 |
|
[移动开发]Kotlin入门笔记(九)集合的函数式编程 API(上) |
前言:本教程最好在有JAVA的基础下进行学习这里先纠正一下《第一行代码 Android 第三版》中的一个问题奥!那时候使用的是 maxBy 函数 ,现在这个函数已经弃用,改为 maxByOrNull?函数?:
参考:maxBy - Kotlin Programming Language 例题: 如何在一个水果集合内找到单词最长的哪个水果? 或许你会这样写:
不错,但是用上 Kotlin 的函数 API 可以变得更简介:
上述代码使用的就是函数式API的用法,只用一行代码就能找到集合中单词最长的那一个。为什么可以这样写?请继续往下看。 是不是很神奇? Lambda表达式语法结构
这已经是 Lambda 表达式最完整的写法,很多后续的情况下会更简洁。 回到刚刚的例子,前面使用的函数式API语法结构看上去很特殊,但其实 就是一个普通的函数而已,只不过它接收的参数是一个 Lambda 表达式。maxByOrNull函数?的工作原理就是根据传入的集合进行遍历,从而找到该条件的最大值。比如想找的是单词最长的水果,那条件自然就是单词的 长度了。 理解了上面所述的条件, 第一次写的:
?就可以改成:
这样,maxByOrNull函数?就接收了一个 Lamda表达式作为参数。①Kotlin允许直接将Lambda表达式传入函数中。所以我们还可以再缩写:
Kotlin 又规定,②当 Lambda参数 是最后一个参数时,可以将 Lambda表达式 移至函数括号的外面。?所以我们继续改进,就变成了:
可是这括号好像多余了...没错。所以 Kotlin 叒 规定,③如果 Lambda参数 是唯一一个参数,还可以将函数的括号省略:
④Kotlin 拥有出色的类型推导机制,所以 Lambda 表达式大多数情况下不必声明参数类,:
但是,⑤Kotlin?叕规定,当 Lambda表达式 二点参数列表只有一个参数的时,也不必声明参数名,而是用 it关键字 来代替,所以代码变成了:
阿这....
开个玩笑哈,言归正传。Kotlin的许多语法糖大大的减少了开发者的代码量。Java恐怕要十行的代码,Kotlin 三行就搞定了。再说说安卓众说周知的 MVC模式 ,Activity 负担巨大。(所以后来比较多人选择了 MVP 与 MVVM 模式)当一个 500行的 Activity 缩短成了100行,这看起来是不是舒服多了? 在文章的结尾我插几张图哈,网上看到的,觉得比较有意思。看着乐呵一下就完啦!生活中有时就是要苦中作乐,不同行业的程序员 斗斗图,拌拌嘴 又何尝不是一件有意思的事情呢 ~? 如果喜欢这个系列的话,不妨点个关注吧!感谢您的观看! 参考: ? ? ? ? 《第一行代码 Android (第三版)》 ? ---郭霖 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 14:29:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |