Scala--基础--集合

可变集合  scala.collection.mutable编程

不可变集合  scala.collection.immutableapp

List: 不可变列表
建立: val list = List(1, 2, 3, 4)
或 val list = List.apply(1, 2, 3, 4)
.head 取出第一个元素
.tail 取出第一个元素以后的全部元素
   
   
List运算符
value :: list 将一个元素和一个列表合并成一个新列表
   
   
scala.collection.mutable.LinkedList: 可变列表
.elem 取出第一个元素
.head 取出第一个元素
.next 取出出第一个元素外的子LinkedList
.tail 取出出第一个元素外的子LinkedList
   
LinkedList运算符
= list 赋给新变量但指向同一列表
   
Set: 没有重复元素的无序集合
scala.collection.mutable.HashSet():无序集合
scala.collection.mutable.LinkedHashSet():有序集合
scala.collection.mutable.SortedSet():按照排序后顺序保存
   
   
Set运算符
set += value 往集合中添加元素
   
集合的函数式编程
.map(fun) 对集合中每一个元素都执行fun, 返回值(一个元素)做为新集合的值
(2 + _) 表示对每一个元素都执行 + 2. 这种含 _ 的缩写方式其实就表示一个参数为 _ 返回值为 2+_ 的函数
.flatMap(fun) 传入含一个参数返回为一个集合的函数, 会把全部返回值合并为一个集合
.foreach(fun) 传入含一个参数无返回值的函数
.reduceLeft(fun) 传入含两个参数一个返回值的函数, 把集合的前两个元素传入函数并将其计算结果以及集合中下个元素传入函数进行计算
.zip(set) 将 (a, b, c, d) 与 (e, f, g, h) 合并成((a, e), (b, f), (c, g), (d, h))的格式
   
   
tuple:  (a, b, c, ...) 由圆括号括起来的多个元素组成一个tuple
._n 取出tuple中的第n(从1开始)个元素