Observable.just(1, 2, 3, 4)
.collect(() -> new ArrayList<Integer>(), new BiConsumer<ArrayList<Integer>, Integer>() {
@Override
public void accept(ArrayList<Integer> integers, Integer integer) throws Exception {
integers.add(integer);
}
})
.subscribe(new Consumer<ArrayList<Integer>>() {
@Override
public void accept(ArrayList<Integer> integers) throws Exception {
System.out.println("integers = " + integers);
}
});
输出:
integers = [1, 2, 3, 4]
collect用于把发射的数据收集到一个集合里面去,第一个参数为一个Callable接口,接口里面有一个call方法返回一个变量用来盛放收集到的数据,第二个参数为一个BiConsumer接口,里面有一个accept方法,该方法的第一个参数为前面盛放结果的变量,第二个参数为每次发射的数据。