package com.test.scala.test
object MapTest {
def main(args: Array[String]): Unit =
{
//定义一个不可变的map
var map=Map("apa"->50,"zhangsan"->75,"王五"->60
);
println(map("zhangsan"))
//类似与java get取值
//定义一个可变的map
var scores=scala.collection.mutable.Map("apa"->50,"zhangsan"->75,"王五"->60
);
println(scores.getOrElse("apa", 0
))
//在可变map中增加值,或移除值
scores+=("a"->45)
//添加某个键
scores-="王五";
//移除某个键
//迭代map
//循环scores的建
val key=
scores.keys;
for(i<-
key)println(i)
//单独循环scores的值
val value=
scores.values;
for(i<-
value)println(i)
//循环scores的key 与value
for((k,v)<-scores)println(k+"->"+
v)
//反转映射,将key与value对调控制
val newScores=
for((k,v)<-
scores) yield (v,k)
for((k,v)<-newScores)println(k+"->"+
v)
//元组,元组用()来定义,它可以用于返回值不是一个的情况的函数
val yuanzu=(1,3,"444"
);
println(yuanzu._2)
//使用元组可以进行拉链操作,可以把多个值绑定在一起,并一起处理.可以配对
var a1=Array(1,2,3
)
var a2=Array("A","B","C"
)
var pairs=
a1.zip(a2);
for((k,v)<-pairs)println(k+"->"+
v)
//将对偶的的集合转换为
var hh=
a1.zip(a2).toMap
for(i<-
hh.values)println(i)
}
}
转载于:https://www.cnblogs.com/huzi007/p/6092780.html