RxJava

RxJava_distinct&distinctUnti

2019-01-10  本文已影响14人  shiyuzhe

相同点

过滤发射的相同元素,对于对象需要实现equals方法

区别

distinctUntilChanged

@Test
fun distinct(){
    Observable.create<Int> {
                for (i in 0..3){
                   it.onNext(i)
                   it.onNext(i)
                }
                for (i in 0..3){
                   it.onNext(i)
                }
                it.onComplete() 
        }.distinctUntilChanged()
        .subscribeBy {
            System.out.print("$it ")
        }
      : 0 1 2 3 0 1 2 3

distinct

@Test
fun distinct(){
    Observable.create<Int> {
                for (i in 0..3){
                   it.onNext(i)
                   it.onNext(i)
                }
                for (i in 0..3){
                   it.onNext(i)
                }
                it.onComplete() 
        }.distinct()
        .subscribeBy {
            System.out.print("$it ")
        }
      : 0 1 2 3
上一篇下一篇

猜你喜欢

热点阅读