Scala 集合分為可變集合(scala.collection.mutable)和不可變集合(scala.collection.immutable)。
scala.collection.mutable.具體類以下圖表展示了集合類層級結構(圖片來源保留):
/* 示例代碼 */
Map("x" -> 24, "y" -> 25, "z" -> 26)
Set(Color.red, Color.green, Color.blue)
List(1, 2, 3)
grouped(size):返回元素增量分塊的迭代器sliding(size):生成滑動窗口迭代器容器合併操作:
xs zip ys:將兩個容器合併為配對集合xs zipAll (ys, x, y):長度不一時用指定值填充update:在原序列上修改,僅適用於可變序列updated:返回新序列,適用於所有序列LinearSeq vs IndexedSeq:
List, Stream):高效的 head/tailArray, ArrayBuffer):高效的 apply/length/updatescala> var list = List() list: List[Nothing] = List() scala> 1 +: list res0: List[Int] = List(1) scala> list :+ 2 res1: List[Int] = List(2) scala> list.padTo(5, 3) res2: List[Int] = List(3, 3, 3, 3, 3)
++, --:通過拷貝實現添加/刪除,效率較低+=, -=:可變集合專用,原地修改並返回變化後的集合不可變集合內部實現: