美文网首页RxJava
RxJava_distinct&distinctUnti

RxJava_distinct&distinctUnti

作者: shiyuzhe | 来源:发表于2019-01-10 15:22 被阅读14次

    相同点

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

    区别

    • distinctUntilChanged只确保相邻元素不重复出现
    • distinct会过滤掉之前已发射的元素

    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
    

    相关文章

      网友评论

        本文标题:RxJava_distinct&distinctUnti

        本文链接:https://www.haomeiwen.com/subject/wtjarqtx.html