我试图在没有外部变量或额外类的情况下将其转换为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/