在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条评论