1.Map

1.1Map的创建
形式:Map(Key -> value, ...)
val map = Map(1 -> "tom",2 ->"jack")
Result:
    map: scala.collection.immutable.Map[Int,String] = Map(1 -> tom, 2 -> jack)
注意:immutable 是不可变的意思
Map的数据结构是 [Int String] 类型的
 
1.2Map的取值
map(2)
res0: String = jack
map(2)="lucy"  //编译错误,因为不可变
 
 
1.3Map的迭代遍历
map.keys
map.values
for( x <- map.keys)println(x)
for( x <- map.values)println(x)
map.values.foreach(println)
for((x,y) <- map)printf("x:%d,y:%s",x,y)
 
 
1.4可变映射:HashMap
import scala.collection.mutable.HashMap
var map = HashMap(1 -> "tom",2 ->"jack")  //定义可变Map
//增
map+=(3 -> "lucy")
res0: scala.collection.mutable.HashMap[Int,String] = Map(2 -> jack, 1 -> tom, 3 -> lucy)
//删
map -=3
res1: scala.collection.mutable.HashMap[Int,String] = Map(2 -> jack, 1 -> tom)
//改
map(2)= "kate"
map(2): String = kate
//查
map(2)
res2: String = kate
 
 
2.元组
2.1元组的创建
元组的形式(values,...),元组具有不刻改变性,所以高效,一般最多22个值
val t1 =(22,"tom",180)
 
2.2元组的取值
t1._1
res0: Int = 22
t1._2
res1: String = tom    
 
2.3打印元组
val map = Map(1 -> "tom",2 ->"jack")
for((k,v) <- map)println(k,v)

Result:
(1,tom)
(2,jack)
//每一个结果都是一个元组,也就是说map 的底层是使用元组来存储的

《快学Scala》高清中文PDF+源代码
提取码:an5d 
 
 
 
posted on 2019-03-10 21:52  飞小白  阅读(99)  评论(0编辑  收藏  举报