swift集合型別 陣列和字典

2021-07-10 00:09:16 字數 2352 閱讀 1450

swift 語言提供了陣列和字典兩種集合型別來儲存集合資料。陣列用來按順序儲存相同型別的資料。字典則是以無序的方式來儲存鍵值對(key,value)。陣列和字典都是強型別的,也就意味著,陣列和字典在宣告時必須指明型別。

本篇部落格我們來分別討論swift中的陣列和字典

陣列就是以乙個從頭到尾的順序儲存相同型別值的容器。相同的值可以在乙個陣列中出現多次。下面來建立並初始化兩個陣列:

var intarray : [int] = [1 , 2 , 3]

var strarray : [string] = ["hello" , "world"]

注意:我現在編寫的swift**的版本是swift2.1,陣列的型別是[type],而不是type

由於swift可以進行型別推測,所以我在建立這兩個陣列時可以不標註型別,如下

var intarray = [1 , 2 , 3]

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

可以這樣來建立乙個空陣列

var emptyarray =[int]()
我們可以通過訪問陣列下標來獲取陣列中某個元素的值,也可以通過陣列的其它屬性和方法來修改陣列。

//獲取陣列中的元素個數

var itemcount = intarray.count

//判斷陣列是否為空

var isempty = intarray.isempty

//通過下標來訪問陣列的某個元素

var item = intarray[0]

//向陣列的最後面加入元素

(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++

for item in intarray

如果把乙個陣列宣告為常量,則:

列表內任意元素的值不可被修改,否則編譯器報錯

//宣告乙個常量陣列

let intarray = [1,2,3]

intarray[0] = 0

//報錯,陣列內的任意元素不可被修改

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

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

iflet

value = dic[2]

dic[4]="foure"

print(dic[4])

輸出結果為

two

optional("foure")

我通過字面值來建立了乙個dictionary

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

for (number,str) in dic
字典中的每個項都通過元組的形式返回。

也可以單獨遍歷所有的key或所有的value

for key in dic.keys

for v in dic.values

遍歷字典時,所有的值都是非可選的。

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

3 Swift 陣列 字典 集合

在oc中陣列,字典,集合有自己的表示方法,分別是array,dictionary,set 與 string 都屬於數值型別變數,他們都屬於結構體。使用簡介靈活多變,個人感覺可讀性變差了很多,用起來由點彆扭,還需要慢慢適應。基本上功能都是照辦oc的,主要包括建立,增,刪,改,查,遍歷。下面從陣列開始說...

Swift字典集合

字典表示一種非常複雜的集合,允許按照某個鍵來訪問元素。字典是由兩部分集合構成的,乙個是鍵 key 集合,乙個是值 value 集合。鍵集合是不能有重複元素的,而值集合是可以重複的,鍵和值是成對出現的。如下圖所示是字典結構的 學號與學生 集合,學號是鍵集合,不能重複,學生是值集合,可以重複。提示 字典...

swift,陣列和字典

建立陣列和字典使用符號 訪問元素通過索引或鍵。例如 陣列 var colors red blue green 想要答案為紅色的,可以這樣獲取到 var color cllors 0 字典 var people name jack age 20,height 70 想要獲取人的屬性,可以這樣獲取 va...