我有一个记录列表,我想在每次迭代中处理10条记录。那么我怎么能有一个可观察到的链上发现10条记录的列表
以下代码不完整/正确。我已添加它以显示我正在尝试的内容
new Function<Cursor, Observable<List<A>>>() {
@Override
public Observable<List<A>> apply(final Cursor cursor) throws Exception {
return Observable.create(new ObservableOnSubscribe<List<A>>() {
@Override
public void subscribe(ObservableEmitter<List<A>> e) throws Exception {
List <A> list = new ArrayList<Attendee>();
Attendee attendee;
while ((attendee = pendingUpSyncAttendeeCursor.getNextItem()) != null ) {
list.add(pendingUpSyncAttendeeCursor.getNextItem());
}
e.onNext(list);
e.onComplete();
}
});
}
}
).groupBy(new Function<List<Attendee>, Object>() {
答案 0 :(得分:0)
不确定如果我明白你想要什么。这是一个代码,其中每个迭代形成一个10的列表我返回该列表的10个元素的列表
@Test
public void twoDeepLevel() {
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20);
Observable.from(list)
.flatMap(number -> Observable.from(list)
.take(10)
.collect(ArrayList<Integer>::new, ArrayList::add))
.scan(new ArrayList<>(),
(lastItemEmitted, newItem) -> {
lastItemEmitted.add(newItem);
return lastItemEmitted;
})
.subscribe(System.out::println, System.out::println);
}
您可以在此处查看更多有关reactiveX的示例