博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scala 映射
阅读量:5361 次
发布时间:2019-06-15

本文共 2785 字,大约阅读时间需要 9 分钟。

1、定义

  在Scala中,映射(map)是一系列键值对的集合。也就是说建立了键和值的对应关系。在映射中,所有的值都可以通过键来找到。

映射包括两种,不可变和可变两种,默认创建的都是不可变映射,如果要创建可变映射,需要导入scala.collection.mutable.Map包。

 

2、创建映射

a、不可变映射

scala> val university = Map("XMU" -> "Xiamen University", "THU" -> "Tsinghua University","PKU"->"Peking University")university: scala.collection.immutable.Map[String,String] = Map(XMU -> Xiamen University, THU -> Tsinghua University, PKU -> Peking University)scala> universityres9: scala.collection.immutable.Map[String,String] = Map(XMU -> Xiamen University, THU -> Tsinghua University, PKU -> Peking University)scala> print(university)Map(XMU -> Xiamen University, THU -> Tsinghua University, PKU -> Peking University)//获取某个值,可以通过对应的键来获取scala> print(university("XMU"))Xiamen University//判断映射中是否包含某个值scala> val bh = if(university.contains("XMU"))  university("XMU")  else 0bh: Any = Xiamen Universityscala> print(bh)Xiamen University

 

b、不变映射

不可变映射不能更新键值、不能增加键值。想要更新、增加就需要创建可变映射

scala> import scala.collection.mutable.Mapimport scala.collection.mutable.Mapscala> val university2 = Map("XMU" -> "Xiamen University", "THU" -> "Tsinghua University","PKU"->"Peking University")university2: scala.collection.mutable.Map[String,String] = Map(XMU -> Xiamen University, THU -> Tsinghua University, PKU -> Peking University)scala>  //更新已有元素的值scala> university2("XMU") = "Ximan University"scala>  //添加新元素scala> university2("FZU") = "Fuzhou University"scala> //也可以使用+=操作来添加新的元素,如下:scala> university2 += ("TJU"->"Tianjin University") res11: university2.type = Map(XMU -> Ximan University, THU -> Tsinghua University, FZU -> Fuzhou University, TJU -> Tianjin University, PKU -> Peking University)scala> university2 += ("SDU"->"Shandong University","WHU"->"Wuhan University")res12: university2.type = Map(XMU -> Ximan University, SDU -> Shandong University, WHU -> Wuhan University, THU -> Tsinghua University, FZU -> Fuzhou University, TJU -> Tianjin University, PKU -> Peking University)scala> print(university2)Map(XMU -> Ximan University, SDU -> Shandong University, WHU -> Wuhan University, THU -> Tsinghua University, FZU -> Fuzhou University, TJU -> Tianjin University, PKU -> Peking University)  

 

3、遍历输出

//输出key ,valuescala> for ((k,v) <-university2) printf("Code is : %s and name is: %s\n",k,v)Code is : XMU and name is: Ximan UniversityCode is : SDU and name is: Shandong UniversityCode is : WHU and name is: Wuhan UniversityCode is : THU and name is: Tsinghua UniversityCode is : FZU and name is: Fuzhou UniversityCode is : TJU and name is: Tianjin UniversityCode is : PKU and name is: Peking University//只输出keyscala> for (k<-university2.keys) println(k)XMUTHUPKU//只输出valuescala> for (v<-university2.values) println(v)Xiamen UniversityTsinghua UniversityPeking University

  

 

转载于:https://www.cnblogs.com/RHadoop-Hive/p/10075635.html

你可能感兴趣的文章
面向对象的介绍与特性
查看>>
typing-python用于类型注解的库
查看>>
20189215 2018-2019-2 《密码与安全新技术专题》第13周作业
查看>>
第四周作业
查看>>
一、HTML基础
查看>>
蓝牙进阶之路 (002) - HC-05与HC-06的AT指令的区别(转)
查看>>
mysql的limit经典用法及优化
查看>>
C#后台程序与HTML页面中JS方法互调
查看>>
mysql 同一个表中 字段a 的值赋值到字段b
查看>>
linux系统可执行文件添加环境变量使其跨终端和目录执行
查看>>
Window7通过Anaconda安装Tensorflow
查看>>
antiSMASH数据库:微生物次生代谢物合成基因组簇查询和预测
查看>>
UNICODE与ANSI的区别
查看>>
nginx 配置实例
查看>>
Flutter - 创建底部导航栏
查看>>
ASP.NET MVC 教程-MVC简介
查看>>
SQL Server索引 - 聚集索引、非聚集索引、非聚集唯一索引 <第八篇>
查看>>
转载:详解SAP TPM解决方案在快速消费品行业中的应用
查看>>
Android OpenGL ES 开发(N): OpenGL ES 2.0 机型兼容问题整理
查看>>
项目中用到的技术及工具汇总(持续更新)
查看>>