映射是键值对偶的集合。Scala有一个通用的叫法——元组:n个对象的聚集,并不一定要相同的类型。

构造映射

键A -> 值B

scala> val scores = Map()//不可变映射
scores: scala.collection.immutable.Map[String,Int] = Map(wcc100 -> )

scala> val scores1 = scala.collection.mutable.Map()//可变的映射
scores1: scala.collection.mutable.Map[String,Int] = Map(wcc100 -> )

获取映射中的值

类似python中字典的取值

scala> val value = scores("wcc100")
value: Int = 

判断键并取值

getOrElse类比r(ifelse),python(np.where)

scala> val p =
p: Int = 

scala> val p1 = scores.getOrElse()
p1: Int = 

更新可变映射

scala> scores1 += (,)
res1: scores1.type = Map(w -> , wcc100 -> , cc -> )

scala> scores1 -= "wcc100"
res2: scores1.type = Map(w -> , cc -> ) 

scala> scores1.keySet
res3: scala.collection.Set[String] = Set(w, cc)

scala> scores1.values
res4: Iterable[Int] = HashMap(, )

迭代映射

反转映射

scala> for((k,v)<-scores1) yield(v,k)
res5: scala.collection.mutable.Map[Int,String] = Map( -> cc,  -> w)

元组

scala> val t = (,1.1,"fre")
t: (Int, Double, String) = (,1.1,fre)

scala> t._1
res6: Int = 

scala> t._3
res7: String = fre

scala> "Wcc".partition(_.isUpper)
res8: (String, String) = (W,cc)

拉链操作

keys.zip(values).toMap

scala> val keys = Array("a","b","c")
keys: Array[String] = Array(a, b, c)

scala> val values = Array(,,)
values: Array[Int] = Array(, , )

scala> val pairs = keys.zip(values).toMap
pairs: scala.collection.immutable.Map[String,Int] = Map(a -> , b -> , c -> )

本文链接:http://www.cnblogs.com/homewch/p/5808548.html

Scala:映射和元组的更多相关文章

  1. Scala映射与元组篇

    *Scala有十分易用的语法来创建.查询和便利映射 *你需要从可变的和不可变的映射中做出选择 *默认情况下,你得到的是一个哈希映射,不过你也可以指明要树形映射 *你可以很容易地在Scala映射和Jav ...

  2. 【scala】 scala 映射和元组操作(四)

    1.映射  Map 定义 ,取值,遍历,排序 2. 元组 定义,取值,拉链操作 import scala.collection.mutable /** * 映射和元组 * * @author xwol ...

  3. scala映射和元组

    scala映射,是一对键值对,相当于java中的Map 对偶:由两个值构成的组,形式 : 值1->值2,值1和值2类型不一定要相同,可以理解为对偶就是一个key/value 映射就是对偶的集合 ...

  4. Scala从入门到精通之四-映射和元组

    在Scala中映射之键值对的集合,元组是n个对象的聚集,但是对象的类型不一定相同 本节内容要点 Scala中映射的创建,遍历和查询 如何从可变和不可变映射中做出选择 Scala映射和Java映射见的互 ...

  5. Scala学习(四)---映射和元组

    映射和元组 摘要: 一个经典的程序员名言是:"如果只能有一种数据结构,那就用哈希表吧".哈希表或者更笼统地说映射,是最灵活多变的数据结构之一.映射是键/值对偶的集合.Scala有一个通用的叫法:元组, ...

  6. 快学Scala习题解答—第四章 映射和元组

    4 映射和元组  4.1 设置一个映射,当中包括你想要的一些装备,以及它们的价格.然后构建还有一个映射.採用同一组键,可是价格上打9折 映射的简单操作  ,"gun"->18 ...

  7. Scala的映射和元组操作

    映射和元组操作 构造Map // 构造一个不可变的MAP映射,类似与key -> value这样的组合叫做对偶 val score = Map("Jack" -> 12 ...

  8. scala学习笔记(4)映射和元组

    1.构造映射 //构造这样的一个映射 val sources=Map(,,) //构造了一个不可变的Map[String,Int],值不能改变, //可变映射 val scores = new sca ...

  9. Scala从入门到放弃(三)Scala的数组、映射、元组和集合

    1.数组 1.1定长数组和变长数组 object ArrayDemo { def main(args: Array[String]): Unit = { //初始化一个长度为8的定长数组,其数组元素均 ...

  10. 学好Spark/Kafka必须要掌握的Scala技术点(一)变量、表达式、循环、Option、方法和函数,数组、映射、元组、集合

    前言 Scala是以JVM为运行环境的面向对象的函数式编程语言,它可以直接访问Java类库并且与Java框架进行交互操作.正如之前所介绍,Spark是用Scala语言编写的,Kafka server端 ...

随机推荐

  1. Dom4j把xml转换成Map(固定格式)

    /** * 可解析list * * @param fileName * @return * @throws Exception */ @SuppressWarnings("unchecked ...

  2. 搭建FTP服务器

    yum install vsftpd -yyum install pam* db4* --skip-broken –y 创建并生成vsftpd 数据库文件vi /etc/vsftpd/ftpusers ...

  3. Ubuntu下su被拒绝

    ubuntu@ubuntu:~$ sudo passwd root输入新的 UNIX 密码: 重新输入新的 UNIX 密码: passwd:已成功更新密码前提是你肯定得知道当前用户的密码. 然后登录: ...

  4. GNURadio 使用问题

  5. solr-web界面增加登录认证

    目录 配置tomcat-user.xml 配置web.xml 界面展示 回到顶部 配置tomcat-user.xml 找到 tomcat 下 conf 文件下增加 tomcat-user.xml &l ...

  6. linuxmint 17没有vim

    首先上软件管理器中安装vim,之后配置.vimrc文件 下面是从网上摘抄的配置文件: """""""""&qu ...

  7. [SQL] SQL学习笔记之基础操作

    1 SQL介绍 SQL 是用于访问和处理数据库的标准的计算机语言.关于SQL的具体介绍,我们通过回答如下三个问题来进行. SQL 是什么? SQL,指结构化查询语言,全称是 Structured Qu ...

  8. 292. Nim Game

    292. Nim Game You are playing the following Nim Game with your friend: There is a heap of stones on ...

  9. C++成员初始化顺序

    #include <iostream> using namespace std; int seti() {cout << "seti" << e ...

  10. UI设计

    微软压平的瓷砖设计符合最直接的信息接受方式,但不符合人类的审美观念. 换句话说,除了平,还有艺术,人类的脑力活动从不会平的像个白板,它是九曲十八弯的脉冲波动. 人类几千年的的审美史上,从没有出现过这种 ...