數組是壹個可以存放相同類型的多個元素對象的有序線性列表,這些元素可以是任意類型,也可以是元組。但是如果在壹個數組中出現在了與其他元素類型不同的元素,那麽編譯器就會報錯。
swift 中還提供了+操作符,可以把兩個數組拼接在壹起,組成壹個新的數組。
數組對象的元素訪問:如果訪問指定元素,可以通過下標操作符[]來獲得,若索引值超出了數組本身大小,那麽程序會引發異常
count:獲取數組個數
isEmpty:判斷數組是否為空
contains( :):判斷數組是否包含某個元素
append( :):在該變量數組最後面添加元素
insert(_:at:):在該變量數組指定位置添加元素,原本的元素被移動到新元素後面
remove(at:):在該變量數組中移除指定位置的元素
註意:數組字面量(例如:[1,2,3]),本身是壹個常量,如果我們對數組字面量進行添加等操作,則會引起編譯器報錯。
壹個集合也能存放多個相同類型的元素,與數組不同的是:
1:壹個集合不允許出現兩個相同的元素
2:集合中的元素是無序的
3:並不是所有的類型對象都能作為集合的元素,不過swift的基本類型都可以
元素集合的訪問不能像數組通過索引值,因為它是無序的,可以通過for-in循環,也可以通過flatMap方法,有選擇性的將集合元素取出。
count:獲取集合個數
isEmpty:判斷集合是否為空
contains( :):判斷集合是否包含某個元素
insert( :at:):在該變量集合指定位置添加元素,如以存在,原本的元素被覆蓋,保證唯壹性
remove(at:):在該變量集合中移除指定位置的元素
字典與數組和集合不同,它是以壹種鍵-值對的形式存儲元素的,字典中不允許出兩個相同的鍵,但是不同的鍵可以對應相同的值,字典的元素也是無序的。字典中鍵的類型與值的類型都是在聲明中直接確定的,每個鍵的類型應該壹致,每個值的類型也應該壹致,鍵的類型和值的類型可以相同也可以不同。
對字典的值的訪問類似於數組對元素的訪問,可以通過下標操作符對字段的值進行訪問,例如對於壹個這樣的字典對象dict[String :Int],我們可以通過dict["String"] 的方式來訪問鍵“String”對應的值,不過這裏得到的值是壹個Optional對象,因為如果指定的鍵對應的值不存在,會返回空。
count: 獲取字典的鍵值對元素個數
isEmpty:判斷字典是否為空
keys:獲取字典對象的所有鍵值
values:獲取字典對象的所有值
updateValue(_:forKey:):更新壹個鍵對應的值
removeValue(forKey:): 將指定的鍵的元素移除
註意:這裏的keys和values返回的類型為LazyMapCollection,它與集合類型類似,不能通過下標訪問元素,壹般通過for-in循環叠代訪問;變量字典還能通過調用下標方式來新增壹個鍵值對或修改壹個鍵對應的值。