编程知识 购物 网址 新闻 笑话 | 软件 日历 阅读 图书馆 China 头条阅读 学淘股 China Travel
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程 CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流
站长资讯 .NET新手 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA VisualStudio ASP.NET-MVC .NET控件开发 EntityFramework WinRT-Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动 Html-Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP OracleERP DynamicsCRM K2 BPM 信息安全 企业信息 Android开发 iOS开发 WindowsPhone WindowsMobile 其他手机 敏捷开发 项目管理 软件工程 SQLServer Oracle MySQL NoSQL 其它数据库 Windows7 WindowsServer Linux
   -> Scala -> Scala:映射和元组 -> 正文阅读

[Scala]Scala:映射和元组

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



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

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

获取映射中的值
类似python中字典的取值

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

判断键并取值
getOrElse类比r(ifelse),python(np.where)

scala> val p = if(scores.contains("wcc100")) scores("wcc100") else 0
p: Int = 100

scala> val p1 = scores.getOrElse("wcc100",0)
p1: Int = 100

更新可变映射

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

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

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

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

迭代映射
反转映射

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

元组

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

scala> t._1
res6: Int = 1

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(1,2,3)
values: Array[Int] = Array(1, 2, 3)

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

 本文链接:http://www.cnblogs.com/homewch/p/5808548.html
  Scala 最新文章
找出共同好友
Error when sending message to topic test
kafka 的 createDirectStream
Scala类型系统(sudden thought)
spark
R的两均值比较检验(非参数检验)
IDEA 中scala 程序运行时的错误:报错 test
为什么要创建开放源码的PlayScala社区?
scala学习手记36
play for scala 在模板中格式化Date
上一篇文章      下一篇文章      查看所有文章
加:2016-08-26 17:53:57  更:2017-05-13 22:57:39 
 
360图书馆 软件开发资料 购物精选 新闻资讯 Chinese Culture 三丰软件 开发 中国文化 阅读网 头条阅读 学淘股 China Travel 日历 万年历 2020年2日历
2020-2-22 18:49:01
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  编程知识