IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 近段时间的学习碎片整理(27) -> 正文阅读

[移动开发]近段时间的学习碎片整理(27)

一、kotlin 常用操作符

近期发现kotlin一些常用操作符挺好用的,此条用来记录一些用法(参考https://www.jianshu.com/p/85df411974cd

1、下表操作类

  • contains —— 判断是否有指定元素
  • elementAt —— 返回对应的元素,越界会抛IndexOutOfBoundsException
  • firstOrNull —— 返回符合条件的第一个元素,没有 返回null
  • lastOrNull —— 返回符合条件的最后一个元素,没有 返回null
  • indexOf —— 返回指定元素的下标,没有 返回-1
  • singleOrNull —— 返回符合条件的单个元素,如有没有符合或超过一个,返回null

2、判断类?

  • any —— 判断集合中 是否有满足条件 的元素
  • all —— 判断集合中的元素 是否都满足条件
  • none —— 判断集合中是否 都不满足条件,是则返回true
  • count —— 查询集合中 满足条件 的 元素个数
  • reduce —— 从 第一项到最后一项进行累计

3、过滤类

  • filter —— 过滤 掉所有 满足条件 的元素
  • filterNot —— 过滤所有不满足条件的元素
  • filterNotNull —— 过滤NULL
  • take —— 返回前 n 个元素

4、转换类

  • map —— 转换成另一个集合(与上面我们实现的 convert 方法作用一样);
  • mapIndexed —— 除了转换成另一个集合,还可以拿到Index(下标);
  • mapNotNull —— 执行转换前过滤掉 为 NULL 的元素
  • flatMap —— 自定义逻辑合并两个集合;
  • groupBy —— 按照某个条件分组,返回Map;

5、排序类

  • reversed —— 反序
  • sorted —— 升序
  • sortedBy —— 自定义排序
  • sortedDescending —— 降序

二、作用域函数

  • apply ——?在闭包范围内可以任意调用该对象的任意方法,并在最后返回该对象,apply函数中表示对象本身使用的是this关键字
  • also ——?在闭包范围内可以任意调用该对象的任意方法,并在最后返回该对象,apply函数中表示对象本身使用的是it
  • let ——?用it代指对象本身,返回值为函数块的最后一行或指定return表达式
  • with —— 用this代指本身,返回值为函数块的最后一行或指定return表达式
  • run?——?run结合了 let和with两者特点,所以 能用let 和 with写的都能用 run写,run也是可以用this和省略代指调用对象本身,可以省略,然后返回值类型也是函数体 最后一句 或retrun指定
  • takeIf?
    • 是扩展函数
    • 上下文对象的引用方式:it
    • 返回值:如果代码块predicate里面返回为true,则返回这个对象本身,否则返回空
    • 使用注意:结果要用?判空
  • takeUnless
    • 是扩展函数
    • 上下文对象的引用方式:it
    • 返回值:如果代码块predicate里面返回为false,则返回这个对象本身,否则返回空
    • 使用注意:结果要用?判空

????????

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-09-30 01:04:20  更:2022-09-30 01:06:32 
 
开发: 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年5日历 -2024/5/29 8:00:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码