在kotilin中使用rxjava2统计字符个数


在bennyhuo的最开始的教材中有一个统计字符串个数的例子,结合的是rxjava,是这样写的

val text = "This is A Text!"
Observable.from(text.toCharArray().asIterable())
        .filter { !it.isWhitespace() }
        .groupBy { it }
        .map {
            o ->
            o.count().subscribe {
                println("${o.key}:${it}")
            }
        }
        .subscribe()

但是我看的时候早就已经rxjava2了,相比较rxjava1有许多不同之处,那时候刚刚接触rxjava,懵懵懂懂,所以短时间内并没能写出来,今天突然想起,解决了,留下供需要的朋友参考:

val text = "This is A Text!"
Observable.fromIterable(text.toCharArray().asIterable())
        .filter({
            !it.isWhitespace()
        })
        .groupBy { it }
        .map { o ->
            o.count().subscribe(Consumer { println("${o.key}:${it}") })
        }
        .subscribe()

结果:

因为IDE并没提示还有什么地方可以省略,最后虽然相比较之前代码多了些,但是却更容易看懂了一些。

希望有所帮助。

声明:TIL|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA[ZH]协议进行授权

转载:转载请注明原文链接 - 在kotilin中使用rxjava2统计字符个数


Life is very interesting. In the end, some of your greatest pains become your greatest strengths.