//映射(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")
} }

最新文章

  1. Winform应用程序实现通用消息窗口
  2. 移动APP的开发需求分析
  3. UML活动图与流程图的区别
  4. linux内核分析 第4章读书笔记
  5. channelartlist添加栏目链接
  6. JSP-09-使用EL显示数据
  7. linux安装phpstorm出现 Startup Error: Unable to detect graphics environment
  8. 使用phpmaill发送邮件的例子
  9. Play Framework介绍:主要概念(转)
  10. 五、PackageManager获取版本号
  11. jquery的一些用法
  12. Python:对象
  13. Type 类型
  14. Java 螺纹第三版 第一章Thread介绍、 第二章Thread创建和管理学习笔记
  15. JSP之项目路径问题(${pageContext.request.contextPath},&lt;%=request.getContextPath()%&gt;以及绝对路径获取)
  16. 使用sublime text3 连接sftp/ftp(远程服务器)
  17. Node.js微服务实践(一)
  18. layer.open参数;layer.open关闭事件;layer.open关闭刷新;layer.open获取子页的值;layer.open调用子页面的方法
  19. 外部tomcat发布springboot项目步骤和异常处理:java.lang.NoClassDefFoundError: javax/el/ELManager
  20. Linux vmstat命令

热门文章

  1. Codeforces 284E(概率)
  2. Ubuntu 16.04安装网络流量监控工具Netspeed(附带10款最佳的指示器工具)
  3. cout 堆栈,operator&amp;lt;&amp;lt; 运算符重载输出问题
  4. JAVA 学习 IDEA安装及破解
  5. MySQL-数据库创建与删除
  6. JS 通过选择百度地图地址获取经纬度自动填充到文本框中的方法
  7. 【codevs2183】匹配字符串
  8. train_action
  9. Android 修改开机动画(bootanimation)【转】
  10. GeHost powershell