在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并没提示还有什么地方可以省略,最后虽然相比较之前代码多了些,但是却更容易看懂了一些。
希望有所帮助。
本站广告由 Google AdSense 提供
0条评论