Kha*_*yen 37 java reactive-programming rx-java
我正在使用RxJava.
我有一个Observable<T>.我如何将其转换为List<T>?
似乎是一个简单的操作,但我无法在网上的任何地方找到它.
did*_*now 76
希望这可以帮助.
List<T> myList = myObservable.toList().toBlocking().single();
谢谢
阿南德拉曼
sol*_*4me 23
您可以使用toList()或toSortedList().例如
observable.toList(myObservable)
.subscribe({ myListOfSomething -> do something useful with the list });
Run Code Online (Sandbox Code Playgroud)
And*_*rey 12
RxJava 2+:
List<T> = theObservarale
.toList()
.blockingGet();
Run Code Online (Sandbox Code Playgroud)
您还可以使用collect运算符:
ArrayList list = observable.collect(ArrayList::new, ArrayList::add)
.toBlocking()
.single();
Run Code Online (Sandbox Code Playgroud)
使用collect,您可以选择Collection您喜欢的类型并在将其添加到列表之前对该项目执行附加操作。