//映射(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)的更多相关文章

  1. 1.scala基础语法总结

    Scala基础语法总结:Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的.如果一行里写多个语句那么分号是需要的 val s = "菜鸟教程"; pr ...

  2. Scala 基础(8)—— 占位符_和部分应用函数

    1. 占位符 _ 针对 Scala 基础(7)—— 函数字面量和一等函数 中最后提到的,关于 filter 函数字面量的精简写法,可以使用占位符 _ 来代替. 占位符_,用来表示一个或者多个参数.(这 ...

  3. Scala基础简述

    * Scala基础简述 本文章作为Scala快速学习的教程,前提环境是:我假设在此之前,你已经学会了Java编程语言,并且我们以随学随用为目标(在此不会深度挖掘探讨Scala更高级层次的知识).其中语 ...

  4. SCALA基础知识学习

    注:本文只说和Java不同的地方. 总结自: Scala详细教程 Scala教程 scala基础语法 Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ";" 是 ...

  5. 第一章 Scala基础篇

    目录 一.Scala基础语法 (一) 变量.类型.操作符 1.变量申明 2.字符串 3.数据类型 4.操作符 (二)循环判断 1.块表达式 2.条件表达式 3.循环表达式 (三)方法和函数 1.方法 ...

  6. 【Scala学习之一】 Scala基础语法

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...

  7. Scala学习(一)--Scala基础学习

    Scala基础学习 摘要: 在篇主要内容:如何把Scala当做工业级的便携计算器使用,如何用Scala处理数字以及其他算术操作.在这个过程中,我们将介绍一系列重要的Scala概念和惯用法.同时你还将学 ...

  8. Scala基础(1)

    Scala基础语法 声明与定义: val,常量声明                       val  x:T(把x声明成一个类型为T的常量)  x是变量的名字,T是变量的类型          v ...

  9. scala 基础知识总结

    在最开始处引入 log 相关的 包 import org.apache.log4j.{Logger,Level} 在需要屏蔽日志输出的地方加上这两行代码 // 屏蔽不必要的日志显示在终端上 Logge ...

  10. Scala 基础(7)—— 函数字面量和一等函数

    1. 函数字面量 在 Scala 基础(3)—— 基础类型和基础操作 中提到了函数字面量,这里具体解释函数字面量的语法. 下面展示一个具体的函数字面量,它由三部分组成: (x: Int, y: Int ...

随机推荐

  1. ios截屏事件监听

    目的:实现截屏反馈,类似支付宝的截屏上传反馈功能. 1.注册全局通知,在Appdelegate中注册截屏监听通知 - (void)registNotification{ [[NSNotificatio ...

  2. Android GIS开发系列-- 入门季(12) 显示载天地图

    在项目中可以经常需要动态加载一些图层,像投影地图服务.投影地图服务器.其实网上有大量这样的服务,比如天地图官网, . 随便点开一个服务,里面有相关的信息.那如何加载这样图层服务呢. 一.首先感谢这篇博 ...

  3. tsdb import 相关

    今天一直在做opentsdb 大量导入数据的工作. 中间遇到了一些值得记录的问题, 这里随手记一下 明天好好整理 1. 多进程logger python的logging模块不支持多进程,但我们可以用s ...

  4. 【CV论文阅读】Detecting events and key actors in multi-person videos

    论文主要介绍一种多人协作的视频事件识别的方法,使用attention模型+RNN网络,最近粗浅地学习了RNN网络,它比较适合用于处理序列的存在上下文作用的数据. NCAA Basketball数据集 ...

  5. 百度编辑器ueditor给上传的图片加入水印

    百度编辑器本身是没有为上传图片加入水印的功能,想要在上传的时候加入图片水印,也非常easy.以 ueditor 1.2.6 为例.打开php文件夹以下的imageUp.php文件,查找"$i ...

  6. 在HDInsight中从Hadoop的兼容BLOB存储查询大数据的分析

    在HDInsight中从Hadoop的兼容BLOB存储查询大数据的分析 低成本的Blob存储是一个强大的.通用的Hadoop兼容Azure存储解决方式无缝集成HDInsight.通过Hadoop分布式 ...

  7. io口的作用

    I/O接口的作用     主机与外界交换信息称为输入/输出(I/O).主机与外界的信息交换是通过输入/输出设备进行的.一般的输入/输出设备都是机械的或机电相结合的产物,比方常规的外设有键盘.显示器.打 ...

  8. Codeforces Round #214 (Div. 2) C. Dima and Salad 背包

    C. Dima and Salad   Dima, Inna and Seryozha have gathered in a room. That's right, someone's got to ...

  9. Bootstrap 过渡效果 transition.js源码分析

    前言: 阅读建议:去github下载一个完整dom然后把,本篇代码复制进去然后运行就好了以地址 Bootstrap 自带的 JavaScript 插件的动画效果几乎都是使用 CSS 过渡实现的,那么判 ...

  10. Android 修改开机动画(bootanimation)【转】

    本文转载自:http://blog.csdn.net/u012301841/article/details/51598115 Android 系统自带的开机动画,是一个白色的 “android” 文字 ...