抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

在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并没提示还有什么地方可以省略,最后虽然相比较之前代码多了些,但是却更容易看懂了一些。

希望有所帮助。


0条评论

发表评论