1.元組數組
定義方式:val tp=("nana',1,1.1)框架
特色:集合中的數據能夠是不一樣類型的函數
最多隻能放22個元素spa
取值:經過角標取值,這裏的角標是從1開始的,元組名稱._角標 tp._1 ("nana")scala
當出現數組長度不相同時,報錯blog
對偶元組:val tp=("nana",1) 兩個元素排序
拉鍊操做: zip隊列
當出現數組長度不想同時,一一匹配,無則不匹配ip
2.數組get
數組分爲:不可變數組:長度不變,內容可變Array
可變數組:長度內容均可以改變 ArrayBuffer
不可變數組
定義:
val array1=Array(1,3,5,7)
val array2=new Array[Int](5) 初始值都爲0,須要指定長度
取值:經過角標,從1開始 array1(1) []指泛型
賦值:
array1(0)=333 賦值是從0開始的
可變數組
導包jar import scala.collection.mutable.ArrayBuffer
定義
val array3=ArrayBuffer(11,22,33,44)
val array4=new ArrayBuffer[Int](5)
取值、賦值和不可變數組同樣
可變數組的運算符號
+= 添加單個值 array3+=2222
++= 添加數組 array3++=array4
-= 刪除單個值 array3-=44
--= 刪除多個值 array3--=array1
數組的經常使用方法
數組的反轉:reverse array3.reverse
數組的截取:slice(from,until) array3.slice(1,2) 左閉右開
數組的去重:distinct array3.distinct
3.List
不可變的 List 長度,內容都是不能夠改變的
可變的 ListBuffer 長度,內容都是可變的
建立不可變的List
val list1=List[int](1,2,44,55)
構建List的另外一種方法 ::Nil
8::9::44::Nil Nil空列表
::該方法被稱爲cons,覺得構造,向隊列的頭部追加數據,建立新的列表,用法爲x::list,其中x爲加入頭部的元素,不管x是列表與否,他都只將成爲新生成列表的第一個元素
添加元素
:+在尾部追加元素 list1 :+1
+:在頭部追加元素(:要朝向集合) 1+:list1
++ 該方法用於鏈接兩個集合 list1++list2
:::只能用於連接兩個List類型的集合
對於不可變類型集合的操做,生成了一個新的集合,元集合並無被改變
可變的List
導包jar import scala.collection.mutable.ListBuffer
val list1=ListBuffer(11,22,34,55)
val list2=new ListBuffer[int]() 不設置數組大小
+= ++= -= --=
List的集合由兩部分組成
hade list1.head List集合的第一個元素
tail list1.tail List集合除去第一個元素的其餘元素
List集合的轉換
toList array3.toList
toArray list3.toAreray
4.Map
定義
(1)val map1=Map(("nana",12),("jingjing",23))
(2) val map2=Map("nana"->1,"jingjing"->2)
循環
map1.keys.foreach{
i =>print("key=「+i)
printIn("value="+map1(i))
map的幾種方法
contains(包含) Boolean 判斷是否存在key
map1("nana") 返回value map1("nan") 報錯
map1.get("nana") 返回Opint[Int]=Some(12) Scala Option(選項)類型用來表示一個值是可選的(有值或無值)。
map1.getOrElse("nana",-1) Int=12 你可使用 getOrElse() 方法來獲取元組中存在的元素或者使用其默認的值,若是不存在的話則返回-1(能夠本身定義)
5.Set
set其實是Map集合上的key,set存儲的元素是惟一的,不重複的,會自動去除掉重複的
val set=Set(1,2,3,1)
6.集合上經常使用的方法
map : 一對一映射 也就是對原來的集合中的每個元素,執行某一項操做(該操做取決於函數的內容)
(本身的理解:萬能轉化器(本身想要什麼格式,就轉成什麼格式) array3.map(_*2) array3.map(tp=>tp*2)
filter 過濾出知足條件的元素 array3.filter(_>22) array3.filter(tp=>tp>33&&tp<543)
filterNot 過濾出不知足條件的
flatten 壓平
Unit 類型,沒有返回值的類型(返回值爲空)
sorted 排序
7.集合框架中經常使用方法
交集 array1.instersect(array3)
差集 array1.diff(array3)
並集 array1.union(array3)