<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## To 將Observable轉換為另一個對象或數據結構 ![to](https://box.kancloud.cn/e240901dd17da7f8d169b2cf53275cd6_1280x630.png) ReactiveX的很多語言特定實現都有一種操作符讓你可以將Observable或者Observable發射的數據序列轉換為另一個對象或數據結構。它們中的一些會阻塞直到Observable終止,然后生成一個等價的對象或數據結構;另一些返回一個發射那個對象或數據結構的Observable。 在某些ReactiveX實現中,還有一個操作符用于將Observable轉換成阻塞式的。一個阻塞式的Ogbservable在普通的Observable的基礎上增加了幾個方法,用于操作Observable發射的數據項。 ### getIterator ![getIterator](https://box.kancloud.cn/f3d7dee7cfb54d0d9ca2bf15f80cd7a8_1280x630.png) `getIterator`操作符只能用于`BlockingObservable`的子類,要使用它,你首先必須把原始的Observable轉換為一個`BlockingObservable`。可以使用這兩個操作符:`BlockingObservable.from`或`the Observable.toBlocking`。 這個操作符將Observable轉換為一個`Iterator`,你可以通過它迭代原始Observable發射的數據集。 * Javadoc: [BlockingObservable.getIterator()](http://reactivex.io/RxJava/javadoc/rx/observables/BlockingObservable.html#getIterator()) ### toFuture ![toFuture](https://box.kancloud.cn/3876360c9e2b347767d14119b9f2f506_1280x790.png) `toFuture`操作符也是只能用于`BlockingObservable`。這個操作符將Observable轉換為一個返回單個數據項的`Future`,如果原始Observable發射多個數據項,`Future`會收到一個`IllegalArgumentException`;如果原始Observable沒有發射任何數據,`Future`會收到一個`NoSuchElementException`。 如果你想將發射多個數據項的Observable轉換為`Future`,可以這樣用:`myObservable.toList().toBlocking().toFuture()`。 * Javadoc: [BlockingObservable.toFuture()](http://reactivex.io/RxJava/javadoc/rx/observables/BlockingObservable.html#toFuture()) ### toIterable ![toIterable](https://box.kancloud.cn/873a94881e87f1d6ef70cdda3191645a_1280x630.png) `toFuture`操作符也是只能用于`BlockingObservable`。這個操作符將Observable轉換為一個`Iterable`,你可以通過它迭代原始Observable發射的數據集。 * Javadoc: [BlockingObservable.toIterable()](http://reactivex.io/RxJava/javadoc/rx/observables/BlockingObservable.html#toIterable()) ### toList ![toList](https://box.kancloud.cn/e840e6c1a3b4b13c8ac43157c5489499_1280x610.png) 通常,發射多項數據的Observable會為每一項數據調用`onNext`方法。你可以用`toList`操作符改變這個行為,讓Observable將多項數據組合成一個`List`,然后調用一次`onNext`方法傳遞整個列表。 如果原始Observable沒有發射任何數據就調用了`onCompleted`,`toList`返回的Observable會在調用`onCompleted`之前發射一個空列表。如果原始Observable調用了`onError`,`toList`返回的Observable會立即調用它的觀察者的`onError`方法。 `toList`默認不在任何特定的調度器上執行。 * Javadoc: [toList()](http://reactivex.io/RxJava/javadoc/rx/Observable.html#toList()) ### toMap ![toMap](https://box.kancloud.cn/9464f06991492134ff915b0bddc2fce0_1280x610.png) `toMap`收集原始Observable發射的所有數據項到一個Map(默認是HashMap)然后發射這個Map。你可以提供一個用于生成Map的Key的函數,還可以提供一個函數轉換數據項到Map存儲的值(默認數據項本身就是值)。 `toMap`默認不在任何特定的調度器上執行。 * Javadoc: [toMap(Func1)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#toMap(rx.functions.Func1)) * Javadoc: [toMap(Func1,Func1)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#toMap(rx.functions.Func1,%20rx.functions.Func1)) * Javadoc: [toMap(Func1,Func1,Func0)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#toMap(rx.functions.Func1,%20rx.functions.Func1,%20rx.functions.Func0)) ### toMultiMap ![toMultiMap](https://box.kancloud.cn/bf403be00b721bd52bb5dcb18a1e4894_1280x610.png) `toMultiMap`類似于`toMap`,不同的是,它生成的這個Map同時還是一個`ArrayList`(默認是這樣,你可以傳遞一個可選的工廠方法修改這個行為)。 `toMultiMap`默認不在任何特定的調度器上執行。 * Javadoc: [toMultiMap(Func1)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#toMultimap(rx.functions.Func1)) * Javadoc: [toMultiMap(Func1,Func1)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#toMultimap(rx.functions.Func1,%20rx.functions.Func1)) * Javadoc: [toMultiMap(Func1,Func1,Func0)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#toMultimap(rx.functions.Func1,%20rx.functions.Func1,%20rx.functions.Func0)) * Javadoc: [toMultiMap(Func1,Func1,Func0,Func1)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#toMultimap(rx.functions.Func1,%20rx.functions.Func1,%20rx.functions.Func0,%20rx.functions.Func1)) ### toSortedList ![toSortedList](https://box.kancloud.cn/a19e12c4ce9f761ca252c7330b8bb3c5_1280x620.png) `toSortedList`類似于`toList`,不同的是,它會對產生的列表排序,默認是自然升序,如果發射的數據項沒有實現`Comparable`接口,會拋出一個異常。然而,你也可以傳遞一個函數作為用于比較兩個數據項,這是`toSortedList`不會使用`Comparable`接口。 `toSortedList`默認不在任何特定的調度器上執行。 * Javadoc: [toSortedList()](http://reactivex.io/RxJava/javadoc/rx/Observable.html#toSortedList()) * Javadoc: [toSortedList(Func2)](http://reactivex.io/RxJava/javadoc/rx/Observable.html#toSortedList(rx.functions.Func2)) ### nest ![nest](https://box.kancloud.cn/60e6310081a7d7a3b55ecc89c507e755_1280x700.png) `nest`操作符有一個特殊的用途:將一個Observable轉換為一個發射這個Observable的Observable。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看