2.6、映射
来源:互联网 发布:玛雅软件培训 编辑:程序博客网 时间:2024/05/01 00:05
映射(Map)
相信接触过spark源程序的人都见过Map之类的东西,现在算是看见其元神了,探究一下吧
在Scala中,映射是一系列键值对的集合,也就是,建立了键和值之间的对应关系。在映射中,所有的值,都可以通过键来获取。有点像mysql中的唯一字段id和name对应,通过id可以获得名字一个道理。映射包括可变和不可变两种,默认情况下创建的是不可变映射,如果需要创建可变映射,需要引入“scala.collection.mutable.Map”包。
创建映射
下面创建一个不可变映射:
val abc = Map("FIR" -> "aaa", "SEC" -> "bbb","THR"->"ccc")
如果要获取映射中的值,可以通过键来获取,如下:
println(abc("FIR"))
上面代码通过”FIR”这个键,可以获得值aaa。
如果要检查映射中是否包含某个值,可以使用contains方法,如下:
val mymap = if (abc.contains("FIR")) aaa("FIR") else 0println(mymap)
上面我们定义的是不可变映射,是无法更新映射中的元素的,也无法增加新的元素。如果要更新映射的元素,就需要定义一个可变的映射,如下:
import scala.collection.mutable.Mapval mymap2 = Map("FRI" -> "Xiamen University", "SEC" -> "bbb","THR"->"ccc")mymap2("SEC") = "ddd" //更新已有元素的值mymap2("FOR") = "eee" //添加新元素//也可以使用+=操作来添加新的元素mymap2 + = ("ABNC"->"hello","BND"->"world")
循环遍历映射
循环遍历映射,是经常需要用到的操作:
for ((k,v) <- mymap) printf("ID is : %s and Name is: %s\n",k,v)//格式为:for ((k,v) <- 映射) 语句块//结果为://ID is : XXXX and name is: xxxxx
也可以只遍历映射中的k或者v,比如:for (k<-mymap.keys) println(k),就只会打印出所有的k了
阅读全文
0 0
- 2.6、映射
- 映射
- 映射
- 映射
- 映射
- 映射
- 映射
- 映射
- 映射
- 映射
- 映射
- 映射
- 映射
- 映射
- 2.6内核新引入的反向映射
- 地址映射,存储器映射
- 关联映射(hibernate映射)
- Mybatis 输入映射 输出映射 高级映射
- 数据结构--线性表
- 购物车
- python学习笔记 一
- HTML5的结构
- SpringMVC之@PathVariable和RequestParam
- 2.6、映射
- android byte转换工具类--笔记
- 安卓SpannableString详解
- HTML+CSS+JavaScript小例题
- TabLayout(核心代码)
- Spring boot logback自定义配置
- handler轮播网上请求的图片
- double类型的精确计算工具
- muduo库源码学习(base)Condition