1、List 列表:列表長度和內容均不可變,所有元素的類型相同,值一旦被定義了就不能改變,即不可被賦值改變,底層是鏈表結構。
scala list 有三個基本操作,head
返回列表第一個元素,tail
返回一個列表,包含除了第一元素之外的其他元素,isEmpty
在列表為空時返回true。
注意:向List中插入元素,是生成新的list列表。
list教程:https://www.runoob.com/scala/scala-lists.html
可變和不可變列表:https://blog.csdn.net/tototuzuoquan/article/details/73825623
2、ListBuffer :長度內容均可變 的列表。
https://www.cnblogs.com/drl-blogs/p/11086849.html
3、Array 數組:數組長度創建時候指定,所有元素類型相同,值可變,可支持索引快速訪問指定元素。
https://www.runoob.com/scala/scala-arrays.html
4、ArrayList 可變數組:
跟Array很像,除了可以額外地從序列頭部或尾部添加或移除元素。
所有的Array操作在ArrayBuffer都可用。不過由於實現的包裝,會稍慢一些。
新的添加和移除操作平均而言是常量時間,不過偶爾會需要線性的時間,這是因為其實現需要不時地分配新的數組來保存緩存的內容。
5、Set:
Scala Set(集合)是沒有重復的對象集合,所有的元素都是唯一的。
Scala 集合分為可變的和不可變的集合。
默認情況下,Scala 使用的是不可變集合,如果你想使用可變集合,需要引用 scala.collection.mutable.Set 包。
注意: 雖然可變Set和不可變Set都有添加或刪除元素的操作,但是有一個非常大的差別。對不可變Set進行操作,會產生一個新的set,原來的set並沒有改變,這與List一樣。 而對可變Set進行操作,改變的是該Set本身,與ListBuffer類似。
https://www.runoob.com/scala/scala-sets.html
6、元組:不可變,但與列表不同的是元組可以包含不同類型的元素。
https://www.runoob.com/scala/scala-tuples.html
7、Map 映射:
Map(映射)是一種可迭代的鍵值對(key/value)結構。
所有的值都可以通過鍵來獲取。
Map 中的鍵都是唯一的。
Map 也叫哈希表(Hash tables)。
Map 有兩種類型,可變與不可變,區別在於可變對象可以修改它,而不可變對象不可以。
默認情況下 Scala 使用不可變 Map。如果你需要使用可變集合,你需要顯式的引入 import scala.collection.mutable.Map 類