swift集合類型——數組和字典

參考連接: Swift 集合html

Swift 語言提供了數組和字典兩種集合類型來存儲集合數據。數組用來按順序存儲相同類型的數據。字典則是以無序的方式來存儲鍵值對(key,value)。數組和字典都是強類型的,也就意味着,數組和字典在聲明時必須指明類型。 swift

本篇博客咱們來分別討論swift中的數組和字典 數組

數組 app

數組就是以一個從頭至尾的順序存儲相同類型值的容器。相同的值能夠在一個數組中出現屢次。下面來建立並初始化兩個數組: ide

建立數組 spa

var intArray : [Int] = [1 , 2 , 3]orm

var strArray : [String] = ["hello" , "world"] htm

注意:我如今編寫的swift代碼的版本是swift2.1,數組的類型是[Type],而不是Type[]  因爲swift能夠進行類型推測,因此我在建立這兩個數組時能夠不標註類型,以下 three

var intArray = [1 , 2 , 3]rem

var strArray= ["hello" , "world"] 

能夠這樣來建立一個空數組 

var emptyArray = [Int]() 

訪問和修改數組 

咱們能夠經過訪問數組下標來獲取數組中某個元素的值,也能夠經過數組的其它屬性和方法來修改數組。 

//獲取數組中的元素個數

var itemCount = intArray.count

//判斷數組是否爲空

var isEmpty = intArray.isEmpty

//經過下標來訪問數組的某個元素

var item = intArray[0]

//向數組的最後面加入元素

intArray.append(4)

//改變某個位置上元素的值

intArray[0] = 0

//移除某個位置的元素

var removedItem = intArray.removeAtIndex(1)

//判斷數組是否包含某個值

intArray.contains(2)

//向數組的某個位置插入一個值

intArray.insert(2, atIndex: 1)

//再次判斷

intArray.contains(2) 

若是你認爲swift關於數組的操做就這麼多,那你就錯了,下面來兩個更強大的功能:數組的拼接和區域內賦值 

var anotherIntArray = [4 , 5 , 6]

intArray += anotherIntArray


strArray += ["hello" ,"swift"] 

數組的拼接是把第二個數組所有接到第一個數組的最後面 

intArray[2...4] = [1,2]

intArray[2...4] = [] 

這個區域內賦值(這個名字是我瞎編的,哈哈),就是把數組的下標在2到4之間的元素替換爲等號後面給定的數組,任意長度哦,(能夠爲空數組哦,瞬間變成批量移除哦) 

數組的遍歷 

咱們可使用傳統的for循環語法來遍歷數組,也可使用for-in的語法來遍歷數組 

for var i = 0 ;i < intArray.count ; i++ {

    print(intArray[i])

}


for item in intArray{

    print(item)

常量數組 

若是把一個數組聲明爲常量,則: 

列表的長度不可被修改,append()等方法不能使用,不然編譯器報錯列表內任意元素的值不可被修改,不然編譯器報錯 

//聲明一個常量數組

let intArray = [1,2,3]

intArray.append(4)  //報錯,數組長度不可被修改

intArray[0] = 0     //報錯,數組內的任意元素不可被修改 

字典 

字典是一組特定類型的鍵值對。下面來建立一個字典 

var dic = [1:"one",2:"two",3:"three"]

if let value = dic[2]{

    print(value)

}

dic[4]="foure"

print(dic[4]) 

輸出結果爲 

two

Optional("foure") 

我經過字面值來建立了一個Dictionary 

字典的遍歷 

用for…in的方式來遍歷字典 

for (number,str) in dic{

    print(number)

    print(str)

字典中的每一個項都經過元組的形式返回。  也能夠單獨遍歷全部的key或全部的value 

for key in dic.keys{

    print(key)

}


for v in dic.values{

    print(v)

遍歷字典時,全部的值都是非可選的。 

常量字典 

與常量的數組相同,常量的字典中的鍵的值是不可修改的,字典的長度也是不能修改的。

相關文章
相關標籤/搜索