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")
} }
scala-基础-映射(1)的更多相关文章
- 1.scala基础语法总结
Scala基础语法总结:Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的.如果一行里写多个语句那么分号是需要的 val s = "菜鸟教程"; pr ...
- Scala 基础(8)—— 占位符_和部分应用函数
1. 占位符 _ 针对 Scala 基础(7)—— 函数字面量和一等函数 中最后提到的,关于 filter 函数字面量的精简写法,可以使用占位符 _ 来代替. 占位符_,用来表示一个或者多个参数.(这 ...
- Scala基础简述
* Scala基础简述 本文章作为Scala快速学习的教程,前提环境是:我假设在此之前,你已经学会了Java编程语言,并且我们以随学随用为目标(在此不会深度挖掘探讨Scala更高级层次的知识).其中语 ...
- SCALA基础知识学习
注:本文只说和Java不同的地方. 总结自: Scala详细教程 Scala教程 scala基础语法 Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ";" 是 ...
- 第一章 Scala基础篇
目录 一.Scala基础语法 (一) 变量.类型.操作符 1.变量申明 2.字符串 3.数据类型 4.操作符 (二)循环判断 1.块表达式 2.条件表达式 3.循环表达式 (三)方法和函数 1.方法 ...
- 【Scala学习之一】 Scala基础语法
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...
- Scala学习(一)--Scala基础学习
Scala基础学习 摘要: 在篇主要内容:如何把Scala当做工业级的便携计算器使用,如何用Scala处理数字以及其他算术操作.在这个过程中,我们将介绍一系列重要的Scala概念和惯用法.同时你还将学 ...
- Scala基础(1)
Scala基础语法 声明与定义: val,常量声明 val x:T(把x声明成一个类型为T的常量) x是变量的名字,T是变量的类型 v ...
- scala 基础知识总结
在最开始处引入 log 相关的 包 import org.apache.log4j.{Logger,Level} 在需要屏蔽日志输出的地方加上这两行代码 // 屏蔽不必要的日志显示在终端上 Logge ...
- Scala 基础(7)—— 函数字面量和一等函数
1. 函数字面量 在 Scala 基础(3)—— 基础类型和基础操作 中提到了函数字面量,这里具体解释函数字面量的语法. 下面展示一个具体的函数字面量,它由三部分组成: (x: Int, y: Int ...
随机推荐
- JSON/xml、Processing 以及收集Java的设计模型
JSON简介: 1.基本介绍 JSON(JavaScriptObject Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于ECMAScript(欧洲计算机协会制定的js规范)的 ...
- 立面图 平面图 剖面图 CAD
http://www.qinxue.com/88.html http://www.xsteach.com/course/2855 前后左右各个侧面的外部投影图——立面图:对建筑物各个侧面进行投影所得到 ...
- Google Chrome Developer Tools
原文:https://www.oschina.net/p/chromedevtools Google发布了Google Chrome Developer Tools,这是一系列面向Chrome开发者的 ...
- windows 7 忘記密碼,用“带命令行的安全模式”
net user administrator /active:yes net user tester /add net localgroup administrators tester /add
- day03-hdfs的客户端操作\hdfs的java客户端编程
5.hdfs的客户端操作 客户端的理解 hdfs的客户端有多种形式: 1.网页形式 2.命令行形式 3.客户端在哪里运行,没有约束,只要运行客户端的机器能够跟hdfs集群联网 文件的切块大小和存储的副 ...
- js美化压缩工具Mark一下
jscompress https://www.jscompress.cn/
- u
Atrrible /s/d –s –h u盘修复
- 一条SQL语句面试题:求选修所有课程的学生
前几天求职面试,有一道SQL题:给出三个表:学生.课程.成绩,求选修了所有课程的学生. 一道看似很简单的问题,把我难住了,我改了又改,涂涂画画,抓耳挠腮,因为试卷没有多少空白位置了,最后只好放弃.心情 ...
- javascript下获取guid或者UTC时间作为唯一值
javascript下,有时出于需要,可以利用guid或UTC时间作为当前页面中的唯一值. 什么场景需要弄这个唯一值? 比如说,用easyUI的treegrid,添加新节点.在treegrid里面 , ...
- mciSendString详解(转)
做个mp3播放器,用realplay和WMP做出来的程序内存占用太大.如果你仅仅是播放MP3,建议使用API函数mciSendString,我把该函数的详细资料罗列如下供你参考.Option Expl ...