scala学习笔记:Map型变量

来源:互联网 发布:黄金趋势分析软件 编辑:程序博客网 时间:2024/06/03 15:17

scala中Map型变量为无序键值对。

不可变Map与Map变量访问:

val info_immutable=Map(("daya1",30),("daya2",25),("daya3",22))info_immutableinfo_immutable("daya2")

可变Map与Map修改:

val info_mutable=scala.collection.mutable.Map(("daya1",30),("daya2",25),("daya3",22))info_mutable("daya1")=31info_mutableinfo_mutable+=(("daya4",40),("daya5",50))

对不可变Map的修改,只能通过新建变量来实现(易错:当仅添加单个键值对时注意括号数量),当添加的键值对与已有键值相同时会进行覆盖,即更新:

val info_immutable2=info_immutable+(("daya4",50),("daya5",60))val info_immutable3=info_immutable-"daya1"

遍历:

for((k,v)<-info_immutable) println(k+" : "+v)for(k<-info.keySet) println(k)for(v<-info.values) println(v)

使用yield方法对键值对进行反转:

for((k,v)<-info) yield (v,k)

针对key排序的SortedMap:

var info_sort=scala.collection.immutable.SortedMap(("d",1),("c",2),("a",3))

链表形式的HashMap,键值对会按照输入的顺序保存:

val info=scala.collection.mutable.LinkedHashMap(("daya2",2),("daya3",3),("daya1",1))

scala中的元组变量:

var tuple_Demo=("daya",5)tuple_Demo._1tuple_Demo._2val names=Array("daya1","daya2","daya3")val ages=Array(16,17,18)val info=names.zip(ages)for((name,age)<-info) println(name,age)
原创粉丝点击