码迷,mamicode.com
首页 > 其他好文 > 详细

06 Map、Tuple、Zip实战

时间:2015-08-01 23:19:42      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

一 Map
Map本身是映射,这种映射关系在实际中应用的非常广泛。
1.1)不可变Map
   就是不可以进行修改的Map
 val map = Map("book" -> 10, "gun" -> 18, "ipad" -> 100)             
for ((k, v) <- map) yield (k, v * 0.9)                     
把上面的代码放在Scala的 Work Sheet 就可以看出map 的类型是 scala.collection.immutable.Map
技术分享
 
2)可变Map
可以进行修改的Map
   val scores = scala.collection.mutable.Map("Scala" -> 7, "Hadoop" -> 8, "Spark" -> 10)
    val hadoopScore = scores.getOrElse("Hadoop", 0)
    scores += ("R" -> 9)
    scores -= "Hadoop"
getOrElse()的意思的是如果Score有key是Hadoop就返回8,否则就返回0
技术分享
3)对Map进行排序
 val sortedScore = scala.collection.immutable.SortedMap( "Scala" ->7 ,"Hadoop" -> 8, "Spark" ->10 )
技术分享
二 Tuple
在scala中Tuple是非常重要的数据结构,不同类型的数据可以作为一个集合的记录。在Tuple中访问是以“_元素位数”的形式访问的比如:
Tuple_1, Tuple_2 ...,,而且索引是从1开始。可以使用_作为占位符。
 val tuple = (1,2,3.14,"Rocky" , "Spark")
    val third = tuple._3
    val (first,second, thirda, fourth , fifth) = tuple
    val(f,s,_ ,_,_ ) =  tuple
技术分享
 
 
三  Zip
把两个集合中的元素结合。
    val symbols = Array("[","-","]")
    val counts = Array(2,5,2)
    val pairs = symbols.zip(counts)
    for( (x,y) <- pairs) print(x*y)
 
 
 
 
 
 
 
 
 

Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:

百度云盘:http://pan.baidu.com/s/1c0noOt6

腾讯微云:http://url.cn/TnGbdC

360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2

06 Map、Tuple、Zip实战

标签:

原文地址:http://www.cnblogs.com/wangshuo1/p/4694762.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!