当前位置:   article > 正文

快速上手 Kotlin 开发系列之集合操作符 (1)_kotlin 链式对集合操作

kotlin 链式对集合操作

本节通过 RxJava 的集合操作引入 Kotlin 的集合操作符。

如果大家有用过 RxJava 一定对操作符的概念并不陌生,RxJava 允许我们对数据做一系列的链式调用,在每一步中改变数据的格式,最终得到我们想要的数据。Kotlin 中原生的为集合添加了海量的操作符,基本上 RxJava 有的操作符 Kotlin 都会有语言层面的支持。

先用 RxJava 实现一段链式调用,后面再使用 Kotlin 的集合操作符完成相同的操作,来对比下两种语法实现上的效果会有怎样的差别。

RxJava 示例

示例中,包含一个 String 类型和一个 Integer 类型的数据,目的是通过 Integer 数组中的 index 顺序拼接 String 数组的内容。先把整体的代码结构附上,之后拆解开分析:

首先通过 flatMap 做一次形变,flatMap 允许你传入一个集合类型的数据源,之后可以将这些集合类型的数据源拆散成一个一个的数据返回,比如示例中返回的是一个 Integer 值,之后后续操作将对它做单个调用。

接下来,只有当这个 Integer 值小于数组 a 的长度时该值才会返回否则就会被过滤掉。示例中数组长度为 8,也就是 >= 8 的值都会被过滤。

map 能够将传入的类型转换为另外一种类型输出。示例中,将传入的 integer 转换 a 中对应的 String 类型。也就是去取 a 中对应位置的字符串。

reduce 表示一次合并操作,实际上就是两个元素合并成一个元素返回,它的前两个泛型参数即为输入的待合并的两个参数类型,第三个泛型参数表示输出类型。示例中就是将两个 String 拼接输出。

最后订阅输出并拼接结果:

来看下运行结果:

以上就是本节内容,欢迎大家关注~

长按关注

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/575963
推荐阅读
相关标签
  

闽ICP备14008679号