下圖展示了如何從一個從可觀測源序列中創(chuàng)建只發(fā)射第一個元素的序列。
http://wiki.jikexueyuan.com/project/rxjava/images/chapter4_8.png" alt="" />
first()
方法和last()
方法很容易弄明白。它們從Observable中只發(fā)射第一個元素或者最后一個元素。這兩個都可以傳Func1
作為參數(shù),:一個可以確定我們感興趣的第一個或者最后一個的謂詞:
下圖展示了last()
應用在一個完成的序列上來創(chuàng)建一個僅僅發(fā)射最后一個元素的新的Observable。
http://wiki.jikexueyuan.com/project/rxjava/images/chapter4_9.png" alt="" />
與first()
和last()
相似的變量有:firstOrDefault()
和lastOrDefault()
.這兩個函數(shù)當可觀測序列完成時不再發(fā)射任何值時用得上。在這種場景下,如果Observable不再發(fā)射任何值時我們可以指定發(fā)射一個默認的值