Scala:映射和元组
映射是键值对偶的集合。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 -> )
Scala:映射和元组的更多相关文章
- Scala映射与元组篇
*Scala有十分易用的语法来创建.查询和便利映射 *你需要从可变的和不可变的映射中做出选择 *默认情况下,你得到的是一个哈希映射,不过你也可以指明要树形映射 *你可以很容易地在Scala映射和Jav ...
- 【scala】 scala 映射和元组操作(四)
1.映射 Map 定义 ,取值,遍历,排序 2. 元组 定义,取值,拉链操作 import scala.collection.mutable /** * 映射和元组 * * @author xwol ...
- scala映射和元组
scala映射,是一对键值对,相当于java中的Map 对偶:由两个值构成的组,形式 : 值1->值2,值1和值2类型不一定要相同,可以理解为对偶就是一个key/value 映射就是对偶的集合 ...
- Scala从入门到精通之四-映射和元组
在Scala中映射之键值对的集合,元组是n个对象的聚集,但是对象的类型不一定相同 本节内容要点 Scala中映射的创建,遍历和查询 如何从可变和不可变映射中做出选择 Scala映射和Java映射见的互 ...
- Scala学习(四)---映射和元组
映射和元组 摘要: 一个经典的程序员名言是:"如果只能有一种数据结构,那就用哈希表吧".哈希表或者更笼统地说映射,是最灵活多变的数据结构之一.映射是键/值对偶的集合.Scala有一个通用的叫法:元组, ...
- 快学Scala习题解答—第四章 映射和元组
4 映射和元组 4.1 设置一个映射,当中包括你想要的一些装备,以及它们的价格.然后构建还有一个映射.採用同一组键,可是价格上打9折 映射的简单操作 ,"gun"->18 ...
- Scala的映射和元组操作
映射和元组操作 构造Map // 构造一个不可变的MAP映射,类似与key -> value这样的组合叫做对偶 val score = Map("Jack" -> 12 ...
- scala学习笔记(4)映射和元组
1.构造映射 //构造这样的一个映射 val sources=Map(,,) //构造了一个不可变的Map[String,Int],值不能改变, //可变映射 val scores = new sca ...
- Scala从入门到放弃(三)Scala的数组、映射、元组和集合
1.数组 1.1定长数组和变长数组 object ArrayDemo { def main(args: Array[String]): Unit = { //初始化一个长度为8的定长数组,其数组元素均 ...
- 学好Spark/Kafka必须要掌握的Scala技术点(一)变量、表达式、循环、Option、方法和函数,数组、映射、元组、集合
前言 Scala是以JVM为运行环境的面向对象的函数式编程语言,它可以直接访问Java类库并且与Java框架进行交互操作.正如之前所介绍,Spark是用Scala语言编写的,Kafka server端 ...
随机推荐
- js轮播(qq幻灯片效果)
<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equ ...
- awk 的使用方法
awk 的使用方法 我们知道 awk 的常用变量包括: $0 当前记录(这个变量中存放着整个行的内容) $1~$n 当前记录的第 n个字段,字段间由 FS 分隔 NF 当前记录中的字段个数,就是有多少 ...
- Json字符串和Json对象的简单总结
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). ...
- 使用count结合nvl函数时碰到的问题
count()函数功能:统计表中中某个字段或所有记录个数,字段值为null的不做统计. 手册中解释: COUNT returns the number of rows returned by the ...
- tyvj1086 Elevator
背景 广东汕头聿怀初中 Train#2 Problem4 描述 现有N种箱子,每种箱子高度H_i,数量C_i.现选取若干箱子堆成一列,且第i种箱子不能放在高度超过A_i的地方.试求最大叠放高度. 输入 ...
- PHP如何判断一个gif图片是否为动画?
首先想到的是用getimagesize()看看type,发现都是gif. 然后想gif动画是gif89格式的,发现文件开头是gif89,但是很多透明图片也是用的gif89格式. 看来必须分析文件的祯了 ...
- 如何挂载阿里云Linux服务器的“数据盘”(新购买)
详细操作参考: http://jingyan.baidu.com/article/90808022d2e9a3fd91c80fe9.html 用到的命令行汇总: 1.查看磁盘: fdisk -l 2. ...
- nginx自动检测后台服务器健康状态
转自http://www.iyunv.com/thread-38535-1-1.html 公司业务线上对后端节点的健康检查是通过nginx_upstream_check_module模块做的,这里我将 ...
- nginx 服务器重启命令,关闭
nginx -s reload :修改配置后重新加载生效 nginx -s reopen :重新打开日志文件nginx -t -c /path/to/nginx.conf 测试nginx配置文件是 ...
- Python自动化之django的ORM操作——Python源码
""" The main QuerySet implementation. This provides the public API for the ORM. " ...