映射map有两种方式
方法一:-> 可变
方法二:()不可变
获取值:map名.getOrElse(key,默认的value)
修改:map名(key)= 新value
元组:下标是1开始的
初始化:val t = (“scala”,10,(“spark”,1))
取值:t._1;t._2._1
初始化:val t,(a,b) = (“scala”,10,(“spark”,1))
取值:a;b
注意:数组中可以存放元组,并且可以将这个数组转化为map arr.toMap
数组的拉链操作
方法一:arr1 zip arr2
方法二:arr1.zip(arr2) arr1中的值为map中的key,arr2中的值为value,反过来也是可以的。
注意:这里面不在会两个数组是不是一样的长
集合
Seq(序列)
申明:val list = List(1,2)
增加元素:添加元素0到list前面
val list2 = 0 :: list
val list3 = list.::(0)
val list4 = 0 +: list
val list5 = list.+:(0)
增加元素:添加元素9到list后面
val list6 = list +: 4
两个list的合并:list1 ++ list2(list1在前list2在后面),list2 ::: list1(list2在前list1在后面)
listBuffer中
追加元素:生成了新的list
list1 += 4
list1.append(5)
list1 ++ list2
Set(集)
不可变set:
申明:val set1 = new HashSetint
增加:要被去重
set1 ++ set2
set1.add(2)
set1 ++= Set(1,3,5)
删除:
set2 -= 1
set2.remove(2)
Map(映射)
申明:val map1 = new HashMapString,Int
添加:
map1(“scala”) = 1
map1 += ((“java”, 2), (“C#”, 3))
map1.put(“c++”, 5)
删除:
map1 -= “java”
map1.remove(“C#”)