RxJava - Toán tử lọc
Sau đây là các toán tử được sử dụng để phát ra (các) mục có chọn lọc từ một Có thể quan sát.
Sr.No. | Nhà điều hành & Mô tả |
---|---|
1 | Debounce Chỉ phát ra các mục khi hết thời gian chờ xảy ra mà không phát ra một mục khác. |
2 | Distinct Chỉ phát ra các mục duy nhất. |
3 | ElementAt chỉ phát ra mục ở chỉ số n do một Observable phát ra. |
4 | Filter Chỉ phát ra những mục vượt qua chức năng vị từ đã cho. |
5 | First Phát ra mục đầu tiên hoặc mục đầu tiên đã vượt qua tiêu chí đã cho. |
6 | IgnoreElements Không phát ra bất kỳ mục nào từ Có thể quan sát nhưng đánh dấu hoàn thành. |
7 | Last Phát ra phần tử cuối cùng từ Có thể quan sát. |
số 8 | Sample Phát ra mục gần đây nhất với khoảng thời gian nhất định. |
9 | Skip Bỏ qua n mục đầu tiên khỏi một Có thể quan sát. |
10 | SkipLast Bỏ qua n mục cuối cùng khỏi một Có thể quan sát. |
11 | Take lấy n mục đầu tiên từ một Observable. |
12 | TakeLast lấy n mục cuối cùng từ một Có thể quan sát. |
Ví dụ về toán tử lọc
Tạo chương trình Java sau bằng bất kỳ trình soạn thảo nào bạn chọn trong C: \> RxJava.
ObservableTester.java
import io.reactivex.Observable;
//Using take operator to filter an Observable
public class ObservableTester {
public static void main(String[] args) {
String[] letters = {"a", "b", "c", "d", "e", "f", "g"};
final StringBuilder result = new StringBuilder();
Observable<String> observable = Observable.fromArray(letters);
observable
.take(2)
.subscribe( letter -> result.append(letter));
System.out.println(result);
}
}
Xác minh kết quả
Biên dịch lớp bằng cách sử dụng javac trình biên dịch như sau -
C:\RxJava>javac ObservableTester.java
Bây giờ hãy chạy ObservableTester như sau:
C:\RxJava>java ObservableTester
Nó sẽ tạo ra kết quả sau:
ab