Scala之wordCount

本文介绍了在Scala中如何进行字典操作,包括声明变量、构造HashMap、添加和更新键值对,以及读取文件内容的方法。示例中展示了使用Scala.io.Source从文件读取行,并展示了访问HashMap中键值对的细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码

import scala.collection.mutable.HashMap
import scala.io.Source
object Test {
  def main(args: Array[String]): Unit = {
    wordCount("dictName")
  }
  def wordCount(dictName: String): Unit ={
    // 声明变量不需要指定类型!
    var dict = new File(dictName)
    var files = dict.listFiles()
    var listFiles = files.toList
    var map = new HashMap[String, Int]() // 需要使用mutable类型的HashMap,因为后面需要修改 
  map的键值对
    listFiles.foreach(file => Source.fromFile(file).getLines().foreach(
      line => line.split("\n").foreach(
        word => {
          if (map.contains(word))
            map(word) += 1 // 使用这种方式更新map的键值对
          else
            map += (word -> 1)
        }
      )
    ))
    map.foreach(kv => {
      println(kv._1 + ":" + kv._2) // 使用kv._1输出键值对的键 kv._2输出键值对的值
    })
  }
}

总结

  1. Scala中声明变量不需要指明类型,即使需要指明类型,格式也应该如:var dict:File = new File(dictName)
  2. Scala中构造HashMap对象的方式: var map = new HashMap[String, Int]()  而且得注意使用的是mutable包下的HashMap,因为后面需要更新某些键值对的值
  3. Scala中添加键值对的方式:map += (key -> value) 更新值的方式:map(key)  = newValue 删除键值对的方式:map -= (key)
  4. Scala读取文件内容:scala.io.Source.fromFile(file).getLines()
  5. 访问map中entry的键和值的方式:访问键:entry._1 访问值:entry._2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值