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