scala-基础-映射(1)

摘要:
值不能更改valmapa=Map(“001”->30)//mapa(“001“)=2//构建变量映射(mapping)valmapb=scala。收集可变的。地图(“001”->Int]mapc.+=(“002”-<多重双重)mapc+=(“002”->Int]mapc+=(“JACK”-<
//映射(1)-构建,获取,更新,迭代,反转,映射(可变与不可变 互换)
class Demo1 extends TestCase {
    
    //构建与获取
    def test_create_^^(){
        //构建-不可变Map(映射),值不能改变
        val mapa = Map("001"->10,"002"->20,"CINDY"->30)  
        //mapa("001") = 2
        //构建可变Map(映射)
        val mapb = scala.collection.mutable.Map("001"->10,"002"->20,"CINDY"->30)
        mapb("001") = 22
        //构建空映射
        val mapc = new scala.collection.mutable.HashMap[String,Int]
        mapc.+=("002"->2)        
        //构建映射对偶的另一种方式
        mapc.+=(("12",15))
        
        //获取映射值
        val v1 = mapc ("12")      //方式一
        val v2 = mapc get("12")   //方式二
        
        //加入映射中不包含请求的键会抛出异常
        //val v3 = mapc ("012")
        //检测映射中是否包含某个键通过 contains
       val b = mapc contains("012") 
       val v3 = if (mapc contains("012")) mapc("012") else 0
       //简略写法
       val v4 = mapc getOrElse("012", 21)
       println(v4)
    }
    
   //更新 
   def test_update_&&(){
      val mapc = new scala.collection.mutable.HashMap[String,Int]
      //添加(单个对偶,多个对偶)
      mapc.+=("002"->2)
      mapc.+=(("000",-2),"001"->1)
      //更新键对应值,加入map集合中有该值,则重新赋值,没有的话则属于新增动作
      mapc("002") = 21    
      mapc("0001") = 101
      //移除
      mapc remove "000"
      mapc -= "000"
   } 
   
   //迭代映射,反转
   def test_foreach_&&(){
     val mapc = new scala.collection.mutable.HashMap[String,Int]
     mapc += ("JACK"->32,("lucy",21),"Mark"->18)
     for((k,v)<-mapc) println(k+" " +v)  //(k,v) 泛型元组
     for(k <- mapc.keySet) println(k+" "+mapc(k))
     for(v <- mapc.values) println(v)    
     
     val mapa = for((k,v) <- mapc) yield (v,k)
     val mapb = for((k,v) <- mapc if v>15) yield (v,k)
   }
   
   //映射(可变与不可变 互换)
   //不可变映射可通过 + 操作符返回一个新的不可变映射;不可变映射可通过 - 操作符返回一个新的不可变映射;
   def test_trunt_%%(){
     val ma = Map("0"->1)
     val mb = ma + ("0"->10)
     val mc = mb -("0") 
   }
   
}

免责声明:文章转载自《scala-基础-映射(1)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇二极管常用02tensorflow非线性回归以及分类的简单实用,softmax介绍下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

k8s基于CA签名的双向数字证书认证(三)

1、设置kube-apiserver的CA证书相关的文件和启动参数   1)创建CA证书和私钥相关的文件 openssl genrsa -out ca.key 2048 openssl req -x509 -new -nodes -key ca.key -subj "/CN=lile.com" -days 5000 -out ca.crt openss...

SQL Server xtype的介绍

sysobjects 表 在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。 列名 数据类型 描述 name sysname 对象名。 Id int 对象标识号。 xtype char(2) 对象类型。可以是下列对象类型中的一种: C = CHECK 约束 D = 默认值或...

【转载】BootStrap表格组件bootstrap table详解

(转载,来源“脚本之家”,作者不详) 一、Bootstrap Table的引入 关于Bootstrap Table的引入,一般来说还是两种方法: 1、直接下载源码,添加到项目里面来。由于Bootstrap Table是Bootstrap的一个组件,所以它是依赖Bootstrap的,我们首先需要添加Bootstrap的引用。 2、使用我们神奇的Nuget打开...

C#反射实例应用--------获取程序集信息和通过类名创建类实例

AppDomain.CurrentDomain.GetAssemblies();获取程序集,但是获取的只是已经加载的dll,引用的获取不到。 System.Reflection.Assembly.GetEntryAssembly().GetReferencedAssemblies(); 获取程序集,包括已经加载的和引用的未加载的dll, 但是获取的不是As...

IDEA 常用的基本设置 2019.3版本

一、字体设置 (1)非编辑框内的字体设置 Settings--->Appearance & Behavior--->Appearance--->选择Use custom font (2)编辑框的字体设置 Settings--->Editor--->Color Scheme--->Color Scheme Font...

通达OA 11.5 SQL注入漏洞复现

0x00 漏洞描述  通达OA 11.5存在sql注入 0x01 漏洞影响版本  通达oa 11.5 0x02 漏洞复现 1、下载通达OA 11.5 https://cdndown.tongda2000.com/oa/2019/TDOA11.5.exe,点击安装 2、创建一个普通账户test:test123456 3.1、id参数存在sql注入 利用条...