【发布时间】:2017-11-16 22:53:35
【问题描述】:
我有一个包含单词的源文件并想要进行典型的字数统计,我正在使用转换为数组并进入内存的东西
def freqMap(lines: Iterator[String]): Map[String, Int] = {
val mappedWords: Array[(String, Int)] = lines.toArray.flatMap((l: String) => l.split(delimiter).map((word: String) => (word, 1)))
val frequencies = mappedWords.groupBy((e) => e._1).map { case (key, elements) => elements.reduce((x, y) => (y._1, x._2 + y._2)) }
frequencies
}
但我想逐行评估并在处理每一行时显示输出。这怎么能懒惰地完成,而不把所有的东西都放在内存中
【问题讨论】:
标签: scala functional-programming immutability