idea中依賴RxJava的Lambda表示式,執行緒池的建立
阿新 • • 發佈:2019-01-07
需求示例:
將字串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("非同步執行的程式碼")
}
}