idea中依赖RxJava的Lambda表达式,线程池的创建

65 阅读1分钟

需求示例:

将字符串jfkdjfiejfijslafjljf jsdfjweipakkgo greogk lkll xmldmg
放入本地Resources文件目录下,打印出重复字符的个数,去掉空格

添加RxJava的依赖:

compile “io.reactivex:rxjava:1.2.1”

kotlin代码:

package net.println.kedemo

import rx.Observable
import java.io.File

fun main(args: Array<String>) {
    val text=File(ClassLoader.getSystemResource("input").path).readText()//读取资源文件Word
//    Observable观察者模式统计相同字符     去除中间空格,以字符本身为key分组
    Observable.from(text.toCharArray().asIterable()).filter { !it.isWhitespace() }.groupBy { it }.map {
        o -> o.count().subscribe{
        println("${o.key}->${it}")
    }
    }.subscribe()    

val work= Executors.newCachedThreadPool()//创建异步线程池
    work.execute {
        println("异步执行的代码")
    }



}

这里写图片描述