반응형
map() 함수
-입력값을 어떤 함수에 넣어서 원하는 값으로 변환하는 함수.
- String을 String으로 변환할 수도 있고, String을 Integer나 다른 객체로도 변환할 수 있음
map() 핵심
-내가 원하는 값을 ‘어떤 함수’ 에 넣는 것
-어떤 함수 : Function 인터페이스 객체 / 람다 표현식
-원하는 함수를 정의할 수 있느냐가 관건
flatMap() 함수
-map()을 좀 더 발전시킨 함수
-결과가 Observable로 나옴
-flatMap() => 일대다 or 일대일 Observable 함수
- map() => 일대일 함수
- RxJava에서 여러 개의 데이터를 발행하는 방법은 Observable 밖에 없음 (배압(back pressure)을 고려하면 Observable 대신에 Flowable)
filter() 함수
-Observable에서 원하는 데이터만 걸러내는 역할
- 필요없는 데이터는 제거하고 오직 관심 있는 데이터만 filter() 함수를 통과하게 됨.
Predicate를 인자로 넣음 (Predicate - 진위 판별이라는 뜻, boolean 값을 리턴하는 특수한 함수형 인터페이스)
- Map()은 Function 객체를 인자로 넣음
- 람다를 사용하면 Function인지 Predicate인지 신경쓰지 않고 동일하게 코딩 할 수 있는 장점
- Observable<Integer> source = Observable.fromArray(data).filter(number -> number % 2 ==0 );
- filter()와 비슷한 함수들
- first(default) : Observable의 첫 번째 값을 필터. 값이 없이 완료되면 기본값 리턴.
- last(default) : 마지막 값
- take(N) : 최초 N 개 값만 가져옴.
- takeLast(N) : 마지막 N 개 값만 필터함.
- skip(N) : 최초 N 값을 건너뜀.
- skipLast(N) : 마지막 N개 값을 건너뜀.
출처:
반응형
'안드로이드 > Rx' 카테고리의 다른 글
[Android] RxJava2 함수에 대해 알아보자 (0) | 2022.10.24 |
---|---|
RxJava에 대해 알아보자 (0) | 2022.10.24 |