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端 ...
随机推荐
- Dom4j把xml转换成Map(固定格式)
/** * 可解析list * * @param fileName * @return * @throws Exception */ @SuppressWarnings("unchecked ...
- 搭建FTP服务器
yum install vsftpd -yyum install pam* db4* --skip-broken –y 创建并生成vsftpd 数据库文件vi /etc/vsftpd/ftpusers ...
- Ubuntu下su被拒绝
ubuntu@ubuntu:~$ sudo passwd root输入新的 UNIX 密码: 重新输入新的 UNIX 密码: passwd:已成功更新密码前提是你肯定得知道当前用户的密码. 然后登录: ...
- GNURadio 使用问题
- solr-web界面增加登录认证
目录 配置tomcat-user.xml 配置web.xml 界面展示 回到顶部 配置tomcat-user.xml 找到 tomcat 下 conf 文件下增加 tomcat-user.xml &l ...
- linuxmint 17没有vim
首先上软件管理器中安装vim,之后配置.vimrc文件 下面是从网上摘抄的配置文件: """""""""&qu ...
- [SQL] SQL学习笔记之基础操作
1 SQL介绍 SQL 是用于访问和处理数据库的标准的计算机语言.关于SQL的具体介绍,我们通过回答如下三个问题来进行. SQL 是什么? SQL,指结构化查询语言,全称是 Structured Qu ...
- 292. Nim Game
292. Nim Game You are playing the following Nim Game with your friend: There is a heap of stones on ...
- C++成员初始化顺序
#include <iostream> using namespace std; int seti() {cout << "seti" << e ...
- UI设计
微软压平的瓷砖设计符合最直接的信息接受方式,但不符合人类的审美观念. 换句话说,除了平,还有艺术,人类的脑力活动从不会平的像个白板,它是九曲十八弯的脉冲波动. 人类几千年的的审美史上,从没有出现过这种 ...