java - RxJava : insert divider object

标签 java rx-java

我想将 divider 对象插入到集合中。

Observable<String> observable = Observable.from(new String[] { "a", "b", "c" });

Iterable<String> dividedList = observable.flatMapIterable(new Func1<String, Iterable<String>>() {
  @Override public Iterable<String> call(String s) {
    return Lists.newArrayList(s, "divider");
  }
}).toBlocking().toIterable();

我想要["a", "divider", "b", "divider", "c"], 但实际上,当然是 ["a", "divider", "b", "divider", "c", "divider"]

我如何使用 RxJava 做到这一点?

最佳答案

只需使用 skipLast 运算符删除最后一个元素!

Observable.just("a", "b", "c")
          .flatMap((l) -> Observable.just(l, "divider"))
          .skipLast(1)
          .toBlocking().toIterable();

关于java - RxJava : insert divider object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29143562/

相关文章:

java - Java中对象数组的降序选择排序

java - 从客户端接收二进制图像并将其保存在服务器端

rx-java - RxJava : Window on count or timespan without dropping elements

rx-java - 取消运行 Completable (RX2) 的最佳方法是什么?

java - RxJava Android : Observer incompatible types error

java - Set<Future<Object>> 中满足谓词的第一个对象

android - RxJava : Is there some sort of chain which lets me "wait until observables A, B, C are complete before continuing"?

java - 在实用程序类中创建方法而不将其声明为静态

java - java中的字符串无法与星号(*)匹配

java - jsp页面编码问题