• scala-基础-映射(1)


    //映射(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") 
       }
       
    }
  • 相关阅读:
    信息 信息熵 信息增益
    数据挖掘导论
    拆包粘包问题的解决方案
    杂物
    《深入理解计算机系统》
    Flex布局
    jquery常用的选择器
    jdk源码阅读优先级
    js和jquery页面初始化加载函数的方法及先后顺序
    SpringBoot定时器任务,每月一号执行
  • 原文地址:https://www.cnblogs.com/ak23173969/p/6792384.html
Copyright © 2020-2023  润新知