前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Scala基础——Map(映射)

Scala基础——Map(映射)

作者头像
羊羽shine
发布于 2019-08-12 07:14:58
发布于 2019-08-12 07:14:58
42600
代码可运行
举报
文章被收录于专栏: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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Scala:数据结构
5、设置一个映射,其中包含你想要的一些装备,以及它们的价格。然后根据这个映射构建另一个新映射,采用同一组键,但是价格上打9折。
Java架构师必看
2021/08/12
3440
Scala学习一
1.集合操作练习 //创建一个List val lst0 = List(1,7,9,8,0,3,5,4,6,2) //将lst0中每个元素乘以10后生成一个新的集合 lst0.map(x => x*10 ) OR lst0.map(_*10 ) //将lst0中的偶数取出来生成一个新的集合 lst0.filter(x => x%2==0) lst0.filter(x => x%2==0).map(_*5) //将lst0排序后生成一个新的集合 lst0.sorted lst0.sortBy(x => x
sparkle123
2018/04/28
1.2K0
Scala学习笔记
3、方法的声明格式 def(x:Int,y:Int) : Int ={} 最后一个冒号后面是返回类型,不加则没有返回值
用户3003813
2018/09/06
2580
2021年大数据常用语言Scala(十八):基础语法学习 Map对象
Map可以称之为映射。它是由键值对组成的集合。在scala中,Map也分为不可变Map和可变Map。
Lansonli
2021/10/11
4830
带你快速掌握Scala操作———(3)
创建变长数组,需要提前导入ArrayBuffer类 import scala.collection.mutable.ArrayBuffer
刘浩的BigDataPath
2021/04/13
2K0
带你快速掌握Scala操作———(3)
Scala 学习笔记之Map与Tuple
上面构造了一个不可变的Map[String, Int],其值也不能被改变.如果想要一个可变映射,使用如下命令创建:
smartsi
2019/08/07
6460
Scala入门篇 顶
scala> val a = println("ddd") ddd a: Unit = ()
算法之名
2019/08/21
4830
Scala入门篇
                                                                            顶
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
7400
scala快速入门系列【映射】
本篇作为scala快速入门系列的第十五篇博客,为大家带来的是关于映射的相关内容。
大数据梦想家
2021/01/26
3920
scala快速入门系列【映射】
Scala学习笔记(三)Scala的基础语法总结
Scala的基础语法 继上一篇的基础语法之后,我又整理了一些个人学习过程中认为比较重要的语法。 1. if/else 表达式 1.1 替代三目运算符 先用 Java 来写一段三目运算符的代码 int
fengzhizi715
2018/08/24
1.4K0
(数据科学学习手札45)Scala基础知识
  由于Spark主要是由Scala编写的,虽然Python和R也各自有对Spark的支撑包,但支持程度远不及Scala,所以要想更好的学习Spark,就必须熟练掌握Scala编程语言,Scala与Java较为相似,且在Scala中可以调用很多Java中的包,本文就将针对Scala中的基础数据结构、循环体以及错误处理机制进行基础的介绍;
Feffery
2018/08/14
2.7K0
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
3550
学好Spark必须要掌握的Scala技术点
Scala是以JVM为运行环境的面向对象的函数式编程语言,它可以直接访问Java类库并且与Java框架进行交互操作。
大数据学习与分享
2020/08/10
1.7K0
学好Spark必须要掌握的Scala技术点
大数据技术之_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
01.Scala:开发环境搭建、变量、判断、循环、函数、集合
早期,scala刚出现的时候,并没有怎么引起重视,随着Kafka和Spark这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。scala的主要优势是它的表达性。
Maynor
2021/04/09
4.2K0
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的map实现key和value排序及各种排序比较等知识讨论
问题导读 1.map能否直接排序? 2.如何转换,才能排序? 3.排序结果可以存储在哪两个集合中? 4._*如何使用? 5.排序函数中,哪个可以进行升序和降序排列? 6.他们的排序性能如何?
用户1410343
2018/03/26
3.7K0
Scala的map实现key和value排序及各种排序比较等知识讨论
scala 学习笔记
到Scala官方下载地址下载:http://scala-lang.org/download/
李振
2021/11/26
5850
scala 学习笔记
Scala 入门2(数组、List、Set、Map、元组、Option、Iterator)
学自 https://www.runoob.com/scala/scala-tutorial.html
Michael阿明
2021/09/06
4640
相关推荐
Scala:数据结构
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验