scala的Map

package com.test.scala.test

object MapTest {

    def main(args: Array[String]): Unit = {

      //定义一个不可变的map
      var map=Map("apa"->50,"zhangsan"->75,"王五"->60);
      println(map("zhangsan"))//类似与java get取值

      //定义一个可变的map
      var scores=scala.collection.mutable.Map("apa"->50,"zhangsan"->75,"王五"->60);
      println(scores.getOrElse("apa", 0))

       //在可变map中增加值,或移除值
      scores+=("a"->45)//添加某个键
      scores-="王五";//移除某个键

      //迭代map
      //循环scores的建
      val key=scores.keys;
      for(i<-key)println(i)

      //单独循环scores的值
      val value=scores.values;
      for(i<-value)println(i)

      //循环scores的key 与value
      for((k,v)<-scores)println(k+"->"+v)

      //反转映射,将key与value对调控制
      val newScores=for((k,v)<-scores) yield (v,k)
      for((k,v)<-newScores)println(k+"->"+v)

      //元组,元组用()来定义,它可以用于返回值不是一个的情况的函数
      val yuanzu=(1,3,"444");
      println(yuanzu._2)

      //使用元组可以进行拉链操作,可以把多个值绑定在一起,并一起处理.可以配对
      var a1=Array(1,2,3)
      var a2=Array("A","B","C")
      var pairs=a1.zip(a2);
      for((k,v)<-pairs)println(k+"->"+v)

       //将对偶的的集合转换为
      var hh=a1.zip(a2).toMap
      for(i<-hh.values)println(i)
    }

}
时间: 2024-08-13 10:07:37

scala的Map的相关文章

Scala集合Map

在scala中Map分为可变长(mutable)和不可变长(immutable) /** * 不可变长map 长度一旦初始化,就不能在进行更改 */ // 通过箭头的方式创建map val map = Map("name" -> "leo", "age" -> 16, "sex" -> "男") // 通过对偶元组的方式创建map val map1 = Map(("name&qu

Scala之Map,Tuple

/** * 1,默认情况下Map构造的是不可变的集合,里面的内容不可修改,一旦修改就变成新的Map,原有的Map内容保持不变: * 2,Map的实例是调用工厂方法模式apply来构造Map实例,而需要主要的是Map是接口,在apply中使用了具体的实现: * 3,如果想直接new出Map实例,则需要使用HashMap等具体的Map子类: * 4,查询一个Map中的的值一定是采用getOrElse的语法的,一方面是在key不存的情况下不报告异常,另外还有一个神奇的作用就是提供默认值 * 而关于默认

Scala 可变map与不可变map互转

object test2 { def main(args: Array[String]): Unit = { val im = scala.collection.immutable.Map(1->"one",2->"two") //不可变map val imh = scala.collection.immutable.HashMap(1->"one",2->"two") //不可变hashmap val

scala的map的操作

1:map和模式匹配的结合 settings.foreach{case (k,v) => set(k,v)} 2:map转成array settings.entrySet().asScala.map( x => (x.getKey, x.getValue)).toArray

(转)scala学习笔记(8): 列表的map,flatMap,zip和reduce

http://www.ituring.com.cn/article/131442 https://twitter.github.io/scala_school/zh_cn/collections.html#flatten 如果不了解map,flatMap,zip和reduce函数,你就不能真正地谈论scala.通过这些函数,我们可以非常容易地处理列表的内容并结合Option对象工作.你可以在这个站点找到更多的片段:Scala片段 1:FoldingScala 片段2:List的操作符魔法 让我们

【转】Scala 片段3:列表的map,flatMap,zip和reduce

原文链接 http://www.ituring.com.cn/article/131442 本文翻译自:Scala snippets 3: Lists together with Map, flatmap, zip and reduce [email protected] 如果不了解map,flatMap,zip和reduce函数,你就不能真正地谈论scala. 通过这些函数,我们可以非常容易地处理列表的内容并结合Option对象工作. 你可以在这个站点找到更多的片段: Scala片段 1:Fo

Scala系列:Map和Tuple

Map 构造Map 不可变: val map = Map("sa" -> 1, "s" -> 2)map("sa") = 3 // error val emptyMap = new scala.collection.immutable.HashMap[String, Int] 可变: val map2 = scala.collection.mutable.Map("sa" -> 2)map2("sa

scala - Map基础

Map 构造Map 不可变: val map = Map("sa" -> 1, "s" -> 2)map("sa") = 3 // error val emptyMap = new scala.collection.immutable.HashMap[String, Int] 可变: val map2 = scala.collection.mutable.Map("sa" -> 2)map2("sa

Scala中List、Map、Set各类型操作汇总

1.Scala中List.Map.Set等各类型函数操作汇总 package com.scala.study import scala.collection.immutable.{Queue, TreeMap}import scala.collection.mutable /**  * Created by HP-PC on 2016/5/26.  */ object ScalaCaseDemo {  def main(args: Array[String]): Unit = {    prin