*集合
* 可變集合(collection.mutable)
* ListBuffer=>內容和長度都可以改變
*
* 不可變集合(collection.immutable)
* List=>長度和內容都不可變
* var list=List(1,2,3,4)
*
* Map
* Map[String,String]("a"->"a","b"->"b")
* get=>Option[String]
* getOrElse("key",defaultValue)=>String
*
* Set
* 存儲的元素是無序的,且里面的元素是沒有重復的
*
* 元組中可以分任意類型的數據
* (1,true,"object")
* 獲取元組中的元素,tuple._2
*
* Seq Nil
* Nil空的List列表
* Seq中分為head tail
* 第一個元素就是head
* 剩余的都是tail
* List(9) head=9 tail=Nil
*
* Option Some None
* Some和None都是option開發的
* 獲取Some中的值都是通過他的get方法
* None
*
* 集合相關的API操作 101
* aggregate()(seqOp,combOp) 對集合進行某種聚合操作
* count(boolean)返回是符合條件的元素的個數
* distinct 對集合中的元素進行去重
* filter(boolean)過濾出符合條件的元素集合
* flatMap 對集合進行某種映射(map)操作,然后再進行扁平化操作(flatten)
* flatten 扁平話操作
* fold()()折疊操作
* foldLeft()()從左到右折疊
* foldRight()()
* foreach( f:A=>Unit) 遍歷集合
* groupBy(key)按照key進行分組
* grouped(Int)將集合按照Int個數進行分組
* head 獲取集合中的頭元素
* indices 返回集合的角標范圍
* intersect 請求兩個集合的交集
* length 返回集合的元素個數
* map 對集合進行某種映射操作
* mkString 對集合進行格式化輸出
* nonEmpty 判斷集合是否為空
* reduce聚合
*
* reverse將集合進行反轉
* size返回集合的長度
* slice(start,end)截取集合的元素
* sortBy(key)集合按照某個key進行排序
* sortWith(boolean)將集合按照某種規則進行排序
* sorted集合按照升序排序
* sum對集合進行求和操作
* tail范圍集合的尾部元素列表
* zip拉鏈操作 相同角標位置的元素組合到一起,返回一個新的集合
*