1.设置一个映射,其中包含你想要的一些装备,以及他们的价格。然后构建另一个映射,采用同一组键,但在价格上打9折。
1 scala> val map = Map("a"->100.0, "b"->200.0, "c"->300.0) 2 map: scala.collection.immutable.Map[String,Double] = Map(a -> 100.0, b -> 200.0, c -> 300.0) 3 4 scala> val newMap = for ((k,v) <- map) yield (k, (v * 0.9)) 5 newMap: scala.collection.immutable.Map[String,Double] = Map(a -> 90.0, b -> 180.0, c -> 270.0)
2.编写一段程序,从文件中读取单词。用一个可变映射来清点每一个单词出现的频率。
1 import scala.collection.mutable.HashMap 2 import scala.io.Source 3 4 /** 5 * Created by vito on 2017/1/12. 6 */ 7 object ex6 { 8 def main(args: Array[String]): Unit = { 9 10 val fileMap = Source.fromFile("201508_T_MW_TERMINAL_DATA_STA.csv").getLines().flatMap(_.split(",")).map(_.toString.trim) 11 12 //注意,这里的newMap必须为mutable类型的 13 val newMap = new HashMap[String, Int] 14 15 for (key <- fileMap) { 16 newMap(key) = newMap.getOrElse(key, 0) + 1 17 } 18 19 newMap.foreach(println(_)) 20 21 } 22 }