Scala 学习笔记
用于备忘录,作知识存储
Scala的集合类型
列表,元组,集合,映射(List 、Tuple、Set、Map)
- List
list是一个递归的不可变的集合,使用递归结构定义列表集合,
两种构建方式:
val list1 = 1::2::3::4::5::Nil
val lsit2 = List(1,2,3,4,5)
List 方法:
IndexOf(String,Int,Int) 查找第一个匹配项的索引,从左往右
LastIndexOf () 从右往左查找,具体如何检索的,可以研究
reverse() 颠倒排序
filter() 过滤
intersect() 求交集
union() 并集
A.diff(B) 相当于A left join B where B is null
//只保留4
list2.filter(i => i == 4)
//剔除4
list2.filter(i => i != 4)
list2.filterNot(i => i ==4)
- Tuple
最多支持22个元素,用小括号定义,元组排序以1开头
val tup = ("a",2,"b",3)
val a = tup._1
- Set
Set是一个无序不重复的集合
分为可变和不可边选项,默认方法是不可变
scala.collection.mutable.immutable.Set
val s = Set("a","b","c")
可变集
val trainSet = scala.collection.mutable.Set("cols","blue","cools","Tools")
- Map
跟集类似,Scala也提供了Map的可变和不可变的版本
在scala.collection包里有一个基础的Map特质,还有两个子特质,都叫Map,可变的那个位于scala.collection.mutable,而不可变的那个位于scala.collection.immutable。
不可变
val trainMap = Map(1 -> "a", 2 -> "b", 3 -> "c")
可变
val changeMap = scala.collection.mutable.Map[Int,String]()
changeMap +=(1 -> "Go home")
changeMap +=(2 ->"help me to learn it")