Scala的集合框架

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)

相關文章
相關標籤/搜索