一、描述
toMap收集原始Observable发射的所有数据项到一个Map(默认是HashMap)然后发射这个Map。
你可以提供一个用于生成Map的Key的函数,还可以提供一个函数转换数据项到Map存储的值(默认数据项本身就是值)。
toMap默认不在任何特定的调度器上执行。
二、示意图
三、示例代码
1 | class Student { |
四、运行结果
1 | onNext: {1002=Student{id=1002, name='LiSi'}, 1001=Student{id=1001, name='ZhangSan'}} |
toMap(Func1)将原Observable发送的数据保存到一个MAP中,并在参数函数中,设定sutdent的id属性作为key。
五、更多
toMap操作符还有以下变体:
- toMap(Func1)
- toMap(Func1,Func1)
- toMap(Func1,Func1,Func0)
详情可查阅下面的参考资料。
六、参考资料
PS:欢迎关注 SherlockShi 个人博客