Kotlin 常用操作符

常用操作符
Kotlin 的操作符跟 RxJava 基本一致,不需要额外记忆。

下标操作类

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

判断类

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

过滤类

名称 描述
filter 过滤 掉所有 满足条件 的元素
filterNot 过滤所有不满足条件的元素
filterNotNull 过滤NULL
take 返回前 n 个元素

转换类

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

排序类

名称 描述
reversed 反序
sorted 升序
sortedBy 自定义排序
sortedDescending 降序

自定义操作符

inline fun <T, E> Iterable<T>.convert(action: (T) -> E): MutableList<E> {
    val list: MutableList<E> = mutableListOf()
    for (element in this) list.add(action(element))
    return list
}

fun main(){
    val list: List<String> = listOf("hello","world")
    list.convert {
            it.hashCode()
        }.forEach {
            print("$it")
        }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 下标操作类 contains —— 判断是否有指定元素 elementAt —— 返回对应的元素,越界会抛Inde...
    __hgb阅读 1,419评论 0 2
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,786评论 25 709
  • 1:Elvis操作符 ?: 如果 ?: 左边表达式非空,elvis操作符就会返回左边的结果,否则返回右边的结果。 ...
    甲乙丙丁你我他阅读 6,630评论 1 4
  • 我站在异乡的桥上 看着河里星星 点点 上弦月映着下弦月 这熟悉的星星 月亮 曳着河水 从上游的故乡 一路寻来 停泊...
    日斜寒林阅读 178评论 3 16
  • 今日回顾 今天的大部分时间都花在了实现一个功能上,细节是魔鬼呀,弄了一天,也还是有问题,只能明天继续了。 今日英语...
    张清伟阅读 224评论 0 0