Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Scala基础——Map(映射)

Scala基础——Map(映射)

作者头像
羊羽shine
发布于 2019-08-12 07:14:58
发布于 2019-08-12 07:14:58
41600
代码可运行
举报
文章被收录于专栏:Golang开发Golang开发
运行总次数:0
代码可运行

Map

Scala映射(Map)是一组键/值对的对象。键在映射中是唯一的,但值不一定是唯一的。映射也称为哈希表。映射有两种,不可变的和可变的。默认情况下,Scala使用不可变映射(Map)。如果要使用可变集合(Map),则需要明确导入scala.collection.mutable.Map

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
val map = Map("name" -> "xiaoming","age" ->20)
println(map("name"))    

声明空的映射是,不能省略类型说明,向映射(Map)添加一个键值对,可以使用运算符+

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  var m :Map[String,Int]= Map()
    m += ("one"->1)

判断map中是否包含某个值,可以使用contains方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 if(map.contains("age")){
       println(map("age"))
     }

如果需要创建可变映射,需要引入scala.collection.mutable.Map包,否则value update is not a member of scala.collection.immutable.Map[String,Any] map("gender") = "cumputer"

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
     val map = Map("name" -> "xiaoming","age" ->20)
     map("gender") = "cumputer"
     println(map("gender"))

遍历map

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 val map = Map("name" -> "xiaoming","age" ->20)
     map("gender") = "cumputer"
      for((k,v) <- map){
        printf("%s->%s\n",k,v)
      }

也可以只遍历映射中的k或者v

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 for (k<-map.keys) println(k)
for (v<-map.values) println(v)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.08.11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2021年大数据常用语言Scala(十八):基础语法学习 Map对象
Map可以称之为映射。它是由键值对组成的集合。在scala中,Map也分为不可变Map和可变Map。
Lansonli
2021/10/11
4800
Scala 学习笔记之Map与Tuple
上面构造了一个不可变的Map[String, Int],其值也不能被改变.如果想要一个可变映射,使用如下命令创建:
smartsi
2019/08/07
6360
带你快速掌握Scala操作———(3)
创建变长数组,需要提前导入ArrayBuffer类 import scala.collection.mutable.ArrayBuffer
刘浩的BigDataPath
2021/04/13
2K0
带你快速掌握Scala操作———(3)
Spark基础-scala学习(一、入门)
Scala解析器的使用 REPL:Read(取值)-> Evaluation(求值)-> Print(打印)->Loop(循环)。scala解析器也被称为REPL,会快速编译scala代码为字节码,然后交给JVM执行 val result = 1 设置变量不可变 var result = 2 可变的变量 val name: String = null 声明变量类型 val name: Any = "leo" val name1,name2:String = null 声明多个变量 val num1,num2
老梁
2019/09/10
7120
(数据科学学习手札45)Scala基础知识
  由于Spark主要是由Scala编写的,虽然Python和R也各自有对Spark的支撑包,但支持程度远不及Scala,所以要想更好的学习Spark,就必须熟练掌握Scala编程语言,Scala与Java较为相似,且在Scala中可以调用很多Java中的包,本文就将针对Scala中的基础数据结构、循环体以及错误处理机制进行基础的介绍;
Feffery
2018/08/14
2.6K0
Scala中的集合类型
----------目录--------------------------------------------------------- 1.Scala简介和安装 2.Scala语法介绍 3.Scala的函数 4.Scala中的集合类型 ------------------------------------------------------------------------------------------------------------- Scala中的集合类型     Scala提供了一套
云飞扬
2018/05/11
4.2K0
Scala:数据结构
5、设置一个映射,其中包含你想要的一些装备,以及它们的价格。然后根据这个映射构建另一个新映射,采用同一组键,但是价格上打9折。
Java架构师必看
2021/08/12
3340
01.Scala:开发环境搭建、变量、判断、循环、函数、集合
早期,scala刚出现的时候,并没有怎么引起重视,随着Kafka和Spark这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。scala的主要优势是它的表达性。
Maynor
2021/04/09
4.1K0
scala快速入门系列【映射】
本篇作为scala快速入门系列的第十五篇博客,为大家带来的是关于映射的相关内容。
大数据梦想家
2021/01/26
3830
scala快速入门系列【映射】
Scala学习笔记(三)Scala的基础语法总结
Scala的基础语法 继上一篇的基础语法之后,我又整理了一些个人学习过程中认为比较重要的语法。 1. if/else 表达式 1.1 替代三目运算符 先用 Java 来写一段三目运算符的代码 int
fengzhizi715
2018/08/24
1.4K0
Scala 【 5 数组常见操作和 Map 】
数组的常见操作 val a = Array(1,2,3,4,5) //数组求和 val sum = a.sum //获取数组的最大值 val max = a.max //对数组进行排序 scala.until.Sorting.quickSort(a) //获取数据的所有元素内容 a.mkString //用符号分隔开 a.mkString(",") //加上左右符号 a.mkString("<",",",">") //toString 函数 a.toString b.toString 使用 yield 和函
Lokinli
2023/03/09
3430
大数据技术之_16_Scala学习_07_数据结构(上)-集合
  1、Set、Map 是 Java 中也有的集合。   2、Seq 是 Java 中没有的,我们发现 List 归属到 Seq 了,因此这里的 List 就和 java 不是同一个概念了。   3、我们前面的 for 循环有一个 1 to 3,就是 IndexedSeq 下的 Vector。   4、String 也是属于 IndexeSeq。   5、我们发现经典的数据结构,比如 Queue 和 Stack 被归属到 LinearSeq。   6、大家注意 Scala 中的 Map 体系有一个 SortedMap,说明 Scala 的 Map 可以支持排序。   7、IndexSeq 和 LinearSeq 的区别     IndexSeq 是通过索引来查找和定位,因此速度快,比如 String 就是一个索引集合,通过索引即可定位。     LineaSeq 是线型的,即有头尾的概念,这种数据结构一般是通过遍历来查找,它的价值在于应用到一些具体的应用场景(比如:电商网站,大数据推荐系统:最近浏览的10个商品)。
黑泽君
2019/04/09
1.3K0
大数据技术之_16_Scala学习_07_数据结构(上)-集合
Scala Turtuial-容器(集合)类型
集合 scala的集合分为可变集合和不可变集合,其中可变集合的增删改查都是作用于它本身;而不可变集合的增删改操作返回的是一个新的集合,原不可变集合保持不变。函数式编程常使用不可变集合,scala默认使用的也是不可变集合。他们对应的包分别为:scala.collection.immutable(不可变)和scala.collection.mutable(可变)。 常见的可变集合: ArrayBuffer,ListBuffer,LinkedList,DoubleLinkedList,MutableList,Qu
吕海峰
2018/04/03
1.3K0
Python和Scala的集合和映射
在入门系列的最后,让我们来看看基于hash表的两种常见的数据结构,集合和映射。在Scala里的集合和映射,这两种数据结构都有可变和不可变的两种版本,区别仅仅在于类的继承关系。而Python的集合也有可变和不可变两种,内置的字典则是只有一种,但是在types模块里有基于字典的MappingProxyType的不可变的只读视图。
哒呵呵
2018/08/06
6060
大数据利器--Scala语言学习(高级)
ListBuffer:ListBuffer 是可变的 list 集合,可以添加,删除元素,ListBuffer 属于序
MiChong
2020/09/24
2K0
大数据利器--Scala语言学习(高级)
Scala学习教程笔记一之基础语法,条件控制,循环控制,函数,数组,集合
前言:Scala的安装教程:http://www.cnblogs.com/biehongli/p/8065679.html 1:Scala之基础语法学习笔记: 1:声明val变量:可以使用val来声明变量,用来存放表达式的计算结果,但是常量声明后是无法改变它的值的,建议使用val来声明常量; 声明var变量:如果要声明可以改变的引用,可以使用var变量,声明的常量的值可以改变。 3:指定类型:无论声明val变量还是声明var变量。都可以手动指定其类型,如果不指定,scala会自动根据值,进行类型的推断;
别先生
2018/04/02
1.5K0
Scala学习笔记
大数据框架(处理海量数据/处理实时流式数据) 一:以hadoop2.X为体系的海量数据处理框架         离线数据分析,往往分析的是N+1的数据         - Mapreduce             并行计算,分而治之             - HDFS(分布式存储数据)             - Yarn(分布式资源管理和任务调度)             缺点:                 磁盘,依赖性太高(io)                 shuffle过程,map将数据写入到本次磁盘,reduce通过网络的方式将map task任务产生到HDFS         - Hive 数据仓库的工具             底层调用Mapreduce             impala         - Sqoop             桥梁:RDBMS(关系型数据库)- > HDFS/Hive                   HDFS/Hive -> RDBMS(关系型数据库)         - HBASE             列式Nosql数据库,大数据的分布式数据库  二:以Storm为体系的实时流式处理框架         Jstorm(Java编写)         实时数据分析 -》进行实时分析         应用场景:             电商平台: 双11大屏             实时交通监控             导航系统  三:以Spark为体系的数据处理框架         基于内存            将数据的中间结果放入到内存中(2014年递交给Apache,国内四年时间发展的非常好)         核心编程:             Spark Core:RDD(弹性分布式数据集),类似于Mapreduce             Spark SQL:Hive             Spark Streaming:Storm         高级编程:             机器学习、深度学习、人工智能             SparkGraphx             SparkMLlib             Spark on R Flink
曼路
2018/10/18
2.6K0
Scala入门篇 顶
scala> val a = println("ddd") ddd a: Unit = ()
算法之名
2019/08/21
4730
Scala入门篇
                                                                            顶
Java map转scala map
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159872.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/14
2.5K0
Scala中的Map使用例子
Map结构是一种非常常见的结构,在各种程序语言都有对应的api,由于Spark的底层语言是Scala,所以有必要来了解下Scala中的Map使用方法。 (1)不可变Map 特点: api不太丰富 如果是var修饰,引用可变,支持读写 如果是val修饰,引用不可变,只能写入一次值,其后只读 var a:Map[String,Int]=Map("k1"->1,"k2"->2)//初始化构造函数 a += ("k3"->3)//添加元素 a += ("k4"->4)//添加元素 a +=
我是攻城师
2018/05/14
3.2K0
相关推荐
2021年大数据常用语言Scala(十八):基础语法学习 Map对象
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验