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

本节通过 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 拼接输出。

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

来看下运行结果:

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

长按关注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值