RxJava学习(二)

这篇来介绍一些操作符

场景

把一个集合中的数据依次打印出来如何实现
先介绍一个函数from
RxJava学习(二)_第1张图片
我们可以这样写

 Observable.from(datas).subscribe(new Action1<String>() {
            @Override
            public void call(String s) {
                System.out.println("=========s"+s);
            }
        });

flatMap操作符

RxJava学习(二)_第2张图片

flat操作符接收一个Func1类型的参数,而Func1中有又两个参数,第一个嗲表输入的数据类型,第二个代表输出类型

flatMap的重点就在于返回了一个Observer对象,而这个返回结果,正是我们在subscribe中需要的。

过滤操作符

filter
这里写图片描述

作用:过滤掉不满足条件的值

filter(new Func1<String, Boolean>() {
            @Override
            public Boolean call(String s) {
                return s.equals("aa");//过滤条件
            }
        });

take
作用:指定结果数量

doOnNext
作用:在每次输出一个元素之前做一些额外的事情,比如这里的保存

doOnNext(new Action1<String>() {
            @Override
            public void call(String s) {
                saveResult(s);//保存结果
            }
        });

你可能感兴趣的:(RxJava学习(二))