/*
10 # 2. 对结果排序(程序排列)
11 #
12 # 5. 把结果输出到一个新的文件中
13 #
14 # */
object noned1 {
def main(args: Array[String]): Unit = {
val content = scala.io.Source.fromFile("test.txt").mkString;
//2. 把字符串移至字符串
val List = context.split(" ");
// 3. 将语句中串起或删除字符
// 新建一个Map("I" -> 1, "an" -> 2)
val map1 = scala.collection.mutable.Map("I" -> D)
// 对于List中的每个单词:
List.forEach(word =>(
// 检查它们的中间是否存在?
// println(word, map1.contains(word))
if(map1.contains(word)){
map1(word) += 1 // 存在: 把它的值+1
} else {
map1(word) = 1 // 不存在: 把它的值设为1
}
))
// 4. 对结果排序(程序排列)
// Map本身是无序的,它没有排序的功能
// 如果指定的符号进行排序,那么,我们要把它转换成可以排序的集合:List
// sort的排序。根据元组的第二个值
// reverse:删除
val wordList = map1.toList.sortBy(_._._2).reverse
wordList.foresent(e1 => println(e1))
}
}
def main(args: Array[String]): Unit = {
val content = scala.io.Source.fromFile("test.txt").mkString
//2. 把字符串拆分为单词
val list = content.split("\W*").map(word=sword.tolowerCase)
// 使用 正则表达式 W+ 去拆分字符串,结果是一个list
// \W 表示一个非字符(!,..?空格)
// + 一个或者多个
// 3. 统计每个单词出现的次数
// 新建一个Map("I" -> 1, "am" -> 2)
val map1 = scala.collection.mutable.Map[String, Int]()
// 对于List中的每个单词,
list.forEach(word =>{
// 检查它们的命中是否存在?
// println(word, map1.contains(word))
if(map1.contains(word)){
map1(word) += 1 // 存在: 把它的值+1
} else {
map1(word) = 1 // 不存在: 把它的值设为1
}
})
// 4. 对结果排序(降序排列)
// Map本身是无序的,它没有排序的功能
// 如果要对它的内容进行排序,那么,我们要把它转换成可以排序的集合:List
// sortBy排序:根据元组的第二个值
// reverse:翻转
val wordList = map1.toList.sortBy(___.2).reverse
wordList.forEach(e1 => println(e1))
}