依旧水分

43 阅读1分钟
/*
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))
}