美文网首页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

    相同点 区别 distinctUntilChanged只确保相邻元素不重复出现 distinct会过滤掉之前已发射...

网友评论

    本文标题:RxJava_distinct&distinctUnti

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