🙆♂️🙆♂️ 写在前面
🏠 个人主页:csdn春和
📚 推荐专栏:更多专栏尽在主页!
JavaWeb专栏(从入门到实战超详细!!!)
SSM专栏 (更新中…)
📖 本期文章:Scala编程实战 —— 一文学会编码大数据基础案例wordcount
如果对您有帮助还请三连支持,定会一 一回访!🙋🏻♂️
📌本文目录
Scala开发实战练习
1、Word count案例实战
1.1、word count 过程分析
1.2、代码实现过程
// TODO 1、读取文件 获取原始数据
// TODO 2、扁平化 将原始数据拆分为一个个单词
// TODO 3、对单词进行分组操作
// TODO 4、对分组后的数据进行数量的统计
// TODO 5、将统计结果打印
1.3、编码实现
object Scala_Collection04_WordCount {
def main(args: Array[String]): Unit = {
// TODO word count案例
// TODO 1、读取文件 获取原始数据
val source: BufferedSource = Source.fromFile("data/word.txt")
val array: Array[String] = source.getLines().toArray // 将每一行的数据 放到一个数组中
source.close()
// TODO 2、扁平化 将原始数据拆分为一个个单词
val flatMap = array.flatMap(line => line.split(" "))
// TODO 3、对单词进行分组操作
val wordGroup: Map[String, Array[String]] = flatMap.groupBy(word => word)
// TODO 4、对分组后的数据进行数量的统计
// 如果数据在转换的时候无需对key进行操作,只针对value进行处理,可以使用mapValues方法
val wordCount: Map[String, Int] = wordGroup.mapValues(v => v.size)
// TODO 5、将统计结果打印
println(wordCount)
}
}
如果非要使用map进行映射则可以这样写
// 使用map
val count = wordGroup.map(
t => {
val k = t._1
val v = t._2
(k, v.size)
}
)
写法二:
object Scala_Collection04_WordCount2 {
def main(args: Array[String]): Unit = {
// TODO word count案例
val list = L