Scala 不可变Map
1 package chapter07
2
3 object Test08_ImmutableMap {
4 def main(args: Array[String]): Unit = {
5 // 1. 创建map 使用伴生对象( ) Map默认就是Immutable.Map不可变
6 val map1: Map[String, Int] = Map("a" -> 13, "b" -> 25, "hello" -> 3)
7 println(map1)
8 println(map1.getClass) //class scala.collection.immutable.Map$Map3
9
10 println("==========================")
11 // 2. 遍历元素
12 map1.foreach(println)
13 map1.foreach( (kv: (String, Int)) => println(kv) )
14
15 println("============================")
16
17 // 3. 取map中所有的key key <- map1.keys 或者 value map1.get("c") 返回一个Some类型的值 可以进一步.get获取具体的值
18 for (key <- map1.keys){
19 println(s"$key ---> ${map1.get(key)}")
20 }
21
22 // 4. 访问某一个key的value
23 println("a: " + map1.get("a").get)
24 println("c: " + map1.get("c"))
25 println("c: " + map1.getOrElse("c", 0)) //如果发现c对应的值没有的话,会返回一个0
26 println(map1("a"))
27 }
28 }
Scala 不可变Map的更多相关文章
- Scala中的Map
映射 映射是对偶的集合. 声明映射 映射是对偶的集合. a.声明映射 b.映射中的键值对称作对偶,用( , )表示 c.当映射中不存在key时,取值会报错,解决方案是使用 contains方法,或者g ...
- Scala编程入门---Map与Tuple
创建Map //创建一个不可变的Map val ages = Map("Leo" -> 30,"Jen" ->25,"Jack" ...
- Scala中的Map使用例子
Map结构是一种非常常见的结构,在各种程序语言都有对应的api,由于Spark的底层语言是Scala,所以有必要来了解下Scala中的Map使用方法. (1)不可变Map特点: api不太丰富 如果是 ...
- Scala中的Map集合
1. Map集合 1.1 Scala中的Map介绍 Scala中的Map 和Java类似,也是一个散列表,它存储的内容也是键值对(key-value)映射,Scala中不可变的Map是有序的,可变的M ...
- scala 两个map合并,key相同时value相加/相减都可
scala 两个map合并,key相同时value相加 1.map自带的合并操作 2.map函数 2.1示例 2.2合并两个map 3.用foldLeft 3.1 语法 3.2 合并两个map 1.m ...
- scala (4) 可变数组和不可变数组
在scala中数组分为不可变长数组(在immutable包下)和可变长数组(在mutable包下) 不可变长数组指的是长度不可变,但是数组中角标对应的元素的值是可变的 可变数组指的是长度和数组中角标对 ...
- 【scala】可变与不可变的理解
我们定义变量的时候分为var可变变量和val不可变变量. 我们使用容器的时候也分为可变容器和不可变容器. List和Tuple本身就是不可变的,set和map分为可变和不可变的,默认为不可变. 我们看 ...
- Spark记录-Scala数组/List/Map/Set
import Array._ import scala.collection.mutable.Set object DataStructure { def main(args:Array[String ...
- scala (5) 可变序列和不可变序列
/** * 序列分为可变长和不可变长,序列其实就是list,底层是链表结构 * 特点:插入有序,可重复,增加和移除元素很快,查询慢 * 不可变长序列:List * 可变长序列:ListBuffer * ...
- scala drools and map
需求,安全检查,例如Linux系统,用户安全检查,配置项检查等,这些检查的规则在Drools里面去实现,数据传送过来即可, 问题:如何定义数据结构,不同的检查项会有不同的数据结构,如何规范呢? 思路: ...
随机推荐
- 解决:EXP-00003: 未找到段 (0,0) 的存储定义报错
问题说明 DB服务器oracle版本:11.2.0.4.0 最近在客户端用exp命令导出部分表时报错,如题.搜索了一下,找到以下解决方案: 问题原因 Oracle 11g 有一个参数deferred_ ...
- 使用virtualenv新建django项目
# 安装virtualenv pip install virtualenv # 创建虚拟环境 virtualenv venv # 进入虚拟环境 venv\Scripts\activate # 安装dj ...
- Java并发编程实例--16.使用ReentrantLock实现线程同步
Java提供另一机制去同步代码块.它比synchronized关键字更强大且易用. 它是基于Lock接口和其实现类例如:ReentrantLock. 这一机制对比synchronized关键字的优势在 ...
- 如何在C#中使用 Excel 动态函数生成依赖列表
前言 在Excel 中,依赖列表或级联下拉列表表示两个或多个列表,其中一个列表的项根据另一个列表而变化.依赖列表通常用于Excel的业务报告,例如学术记分卡中的[班级-学生]列表.区域销售报告中的[区 ...
- linux7/8版本的docker-ce安装(2022/5/27亲测可行)
centos7 # 先配阿里源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup curl - ...
- 【Azure Redis】Redis-CLI连接Redis 6380端口始终遇见 I/O Error
问题描述 使用Redis-cli连接Redis服务,因为工具无法直接支持TLS 6380端口连接,所以需要使用 stunnel 配置TLS/SSL服务.根据文章(Linux VM使用6380端口(SS ...
- 案例7:将"picK"译成密码
密码规则:用当前字母后面的第五各字符来代替当前字符.比如字符'a'后面的第5个字符为'f', 则使用'f'代替'a'.编写程序,实现该功能. 示例代码如下: #define _CRT_SECURE_N ...
- Module not specified-使用IDEA出现问题
一.问题由来 使用IDE导入一个项目时,准备启动这个项目,然后突然报错,错误信息如标题中所示Module not specified.这个项目之前都还好好的 怎么突然就运行不了了呢?让我感到很是疑惑, ...
- vue-router tomcat 下报404 WEB-INF 放入 web.xml 即可
vue-router tomcat 下报404 WEB-INF 放入 web.xml 即可 <?xml version="1.0" encoding="UTF-8& ...
- electron fiddle 下载 镜像 下载不下来 已解决 electron-api-demos 安装
fiddle 官网 https://www.electronjs.org/fiddle 一共3步 1. npm config set registry https://registry.npm.tao ...