Rx
RxKotlin- Part 8-2. 필터 연산자 : filter(), take(), skip(), distinct()
DevGoni
2021. 4. 29. 12:53
728x90
filter()
filter() 함수는 Observable에서 필요없는 데이터는 제거하고, 원하는 데이터만 filter()를 통해 걸러집니다.
fun main() {
val arr = arrayOf(1, 2, 3, 4, 5)
val ob = Observable.fromArray(*arr)
.filter{
it > 3
}
ob.subscribe(System.out::println)
}
실행결과 :
4
5
take()
첫번째부터 i번째 데이터를 Observer에게 보냅니다.
fun main() {
val arr = arrayOf(1, 2, 3, 4, 5)
val ob = Observable.fromArray(*arr)
.take(3)
ob.subscribe(System.out::println)
}
실행결과 :
1
2
3
skip(), skipLast()
skip() 함수는 첫번째부터 i번째 데이터를 생략하고 Observer에게 보냅니다.
skipLast() 함수는 마지막부터 뒤에서 i번째 데이터를 생략하고 Observer에게 보냅니다.
fun main() {
val arr = arrayOf(1, 2, 3, 4, 5)
val ob = Observable.fromArray(*arr)
.skip(2)
ob.subscribe(System.out::println)
}
실행결과 :
3
4
5
distinct()
데이터의 중복을 제거해줍니다.
fun main() {
val arr = arrayOf(1, 2, 3, 4, 5, 2, 3)
val ob = Observable.fromArray(*arr)
.distinct()
ob.subscribe(System.out::println)
}
실행결과 :
1
2
3
4
5