map tuple set

来源:互联网 发布:万艾可用多少毫克 知乎 编辑:程序博客网 时间:2024/04/30 08:19
映射和元组
 
scala 中的三大集合:序列(seq) (set)映射(map)
scala 中集合分为 mutable immutable集合,分别是可变的集合和不可变的集合
可变的集合可以更新或者修改,添加,删除,修改元素将作用于原集合
不可变的集合一旦被创建,便不能被改变,添加,删除,更新操作反回的是新的集合,老集合保持不变
scala 中所有的集合都来自于scala.collection 包以及其子包mutableimmutable当中。默认是immutable不可变得集合,但引入mutable包。
Set(集)是一种不存在重复元素的集合,它与数学上定义的集合是对应的
声明: val mSet=mutable.Set(1,2,3)因为不指定mutable默认的是immutable
添加一个元素 mSet+4
 
删除一个元素 mSet-4
 
 
添加多个元素mSet+=4,5,6//不保证插入的顺序
//保证顺序可以使用LinkedHashSet
 
 
遍历
for(i<-mSet) print(i+" ")
 
 
Map是一种键值对的集合,一般将其翻译为映射
声明:  var m=Map("a"->1,"b"->2)
 
 var m1=Map(("c",3),("d",4))
 
 
// 更新Map的元素
   ages("Leo") = 31
// 增加多个元素
ages += ("Mike" -> 35, "Tom" -> 40)
// 移除元素
  ages -= "Mike"
更新不可变Map集合:
// 添加不可变Map的元素,产生一个新的集合Map,原Map不变
val ages2 = ages + ("Mike" -> 36, "Tom" -> 40)
// 移除不可变Map的元素,产生一个新的集合Map,原Map不变
val ages3 = ages - "Tom"
 
遍历
 
for((key,value)<-m) println(key+" "+value)
for(key<-m.keySet) println(key)
for(value<-m.values) println(value)
for((key,value)<-m) yield(value,key)
注释:1 SortedMap可以自动对Map的key的排序
2. LinkedHashMap可以记住插入entry的顺序
 
元组元组是不同类型的值的聚集
元组的索引从1开始,而不是0
元组的拉链操作值的就是zip操作
zip操作,是Array类的方法,用于将两个Array,合并为一个Array

 
注意:当z1z2个数不一样的时候,按照个数少的来,
队列
 
声明:var queue=scala.collection.immutable.Queue(1,2,3)
入队:queue.enqueue(4)
出队:queue.dequeue


0 0
原创粉丝点击