该场景是根据一组整数值更新列表内的数据模型。
例如 ArrayList 具有:
Student {
name: "abc",
id: 1,
hasPassed: false
}...
现在我有一组整数,基本上有 其中的学生 ID {1, 2, ...} 表示通过的学生的学生 ID。
我在我的观察者
的onNext
方法中获取了Student
的arrayList。
如何根据从整数 Set
获取的学生 ID 更新学生对象的 hasPassed
字段?我正在尝试使用 RxJava2 来执行此操作。
最佳答案
您可以首先使用 flatmapIterable() 观察器迭代学生集,该观察器将逐一发出要处理的项目,然后您可以使用 flatmap() 对发出的项目应用操作,最后,如果您想要列表返回使用 toList() 运算符..它可能看起来像这样
Observable.fromIterable(studentList) //emit items one by one
.flatMap(studentItem -> { //make an operation on item
if (ids.contains(studentItem.getId())) {
studentItem.setHasPassed(true);
}
return Observable.just(studentItem); //emit item
})
.toList() //get all items on a list
.subscribe(finalList->{
//handle the result
}, throwable -> {
//handlle error
});
关于java - 如何根据一组值更新数据模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46388008/