博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scala之wordCount
阅读量:4113 次
发布时间:2019-05-25

本文共 1116 字,大约阅读时间需要 3 分钟。

代码

import scala.collection.mutable.HashMapimport scala.io.Sourceobject 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

 

转载地址:http://qaesi.baihongyu.com/

你可能感兴趣的文章
webservice和soap小原理
查看>>
<iOS>网络编程(四)SOAP, WSDL, Web Service
查看>>
iOS开发内存分析方法
查看>>
Swift查看断点变量方法
查看>>
Swift 单例写法
查看>>
<iOS开发兼容问题>关于IOS6和IOS5旋屏问题
查看>>
<iOS>响应事件传递, nextResponder研究
查看>>
iOS 简单动画效果
查看>>
< iOS >CABasicAnimation用法
查看>>
<iOS> 谈谈iOS Animation
查看>>
<iOS>动画组CAAnimationGroup
查看>>
关于iOS App的切图
查看>>
Mac&iOS之多线程
查看>>
Blocks编程
查看>>
COREANIMATION中如何自定义动画属性
查看>>
什么是CALayer?
查看>>
MPMoviePlayerController的一些用法
查看>>
自定义MPMoviePlayerController的界面
查看>>
iphone线程中使用异步网络的问题,以及如何用NSRunLoop来解决
查看>>
详解在IOS后台执行
查看>>