我试图在没有外部变量或额外类的情况下将其转换为Observable。这可能吗?这是通过列表进行的基本搜索:

    //...
    for(int i = 0; i < items.size(); i++) {
        if(items.get(i).id == findId) return i;
    }
    return -1;

所以基本上我有一个字符串ID,如果我想返回“项目”列表中的项目索引。

最佳答案

一种没有任何额外遍历开销的“整洁”方式如下:

  Observable<Integer> index = Observable.from(items)
            .takeWhile(item -> item.id != findId)
            .count()
            .map(count -> count == data.size() ? -1 : count);

但是对于这样的简单用例,我会坚持使用非Rx方法

关于rx-java - RxJava搜索列表中的项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39340592/

10-12 17:26
查看更多