Rx java 使用RxJava筛选项目列表
如何使用RxJava筛选项目列表 我有以下代码,Rx java 使用RxJava筛选项目列表,rx-java,Rx Java,如何使用RxJava筛选项目列表 我有以下代码,loadData()发出一个列表: 我想在loadData()之后应用过滤器。您可以在下一个代码段中看到我的解决方案,但也许有更好的方法 repository.loadData() .map(chatrooms -> { List<Chatroom> openChatrooms = new ArrayList<>(); for (Chatroom ch
loadData()
发出一个列表
:
我想在loadData()
之后应用过滤器。您可以在下一个代码段中看到我的解决方案,但也许有更好的方法
repository.loadData()
.map(chatrooms -> {
List<Chatroom> openChatrooms = new ArrayList<>();
for (Chatroom chatroom: chatrooms){
if (!chatroom.getBlocked().equals(IS_BLOCKED)) {
openChatrooms.add(chatroom);
}
}
return openChatrooms;
})
.subscribe(chatrooms -> {
view.showData(chatrooms);
view.showEmptyState(chatrooms.size() == 0);
}, throwable -> Log.i("OnError", "onLoadChatrooms ", throwable)));
repository.loadData()
.map(聊天室->{
List openchattrooms=new ArrayList();
用于(聊天室聊天室:聊天室){
如果(!chatroom.getBlocked().equals(被阻止)){
添加(聊天室);
}
}
返回开放聊天室;
})
.订阅(聊天室->{
查看。显示数据(聊天室);
view.showEmptyState(chattrooms.size()==0);
},throwable->Log.i(“OnError”,“onload聊天室”,throwable));
您的解决方案即使没有“功能性”的风格,也很好
通常,我会写这样的东西-
loadData()
.flatMap(聊天室->{返回可观察的.from(聊天室);})
.filter(聊天室->{return!chatroom.getBlocked().equals(IS_BLOCKED);})
.toList();
您的解决方案即使没有“功能性”的风格,也很好
通常,我会写这样的东西-
loadData()
.flatMap(聊天室->{返回可观察的.from(聊天室);})
.filter(聊天室->{return!chatroom.getBlocked().equals(IS_BLOCKED);})
.toList();
这应该会有所帮助
这应该会有所帮助。Hi的可能副本的可能副本。如果我只想获取1个数据,然后断开另一个,怎么做?尝试使用take(n)运算符。在argument.Hi中通过1。如果我只想获取1个数据,然后断开另一个,怎么做?尝试使用take(n)运算符。在参数中传递1。
repository.loadData()
.map(chatrooms -> {
List<Chatroom> openChatrooms = new ArrayList<>();
for (Chatroom chatroom: chatrooms){
if (!chatroom.getBlocked().equals(IS_BLOCKED)) {
openChatrooms.add(chatroom);
}
}
return openChatrooms;
})
.subscribe(chatrooms -> {
view.showData(chatrooms);
view.showEmptyState(chatrooms.size() == 0);
}, throwable -> Log.i("OnError", "onLoadChatrooms ", throwable)));
loadData()
// Opther operations if any
.filter((chatroom -> { return !chatroom.getBlocked().equals(IS_BLOCKED);})
.toList()
.subscribe(getObserver()); // implement your getObserver() method for observer.