Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ch06. 聚集型態.

Similar presentations


Presentation on theme: "Ch06. 聚集型態."— Presentation transcript:

1 Ch06. 聚集型態

2 6.1 陣列的表示法 宣告一陣列變數av的語法如下: var av = [value1, value2, value3, …] 或
6.1 陣列的表示法 宣告一陣列變數av的語法如下: var av = [value1, value2, value3, …] var av: [type] = [value1, value2, value3, …] var av: Array<type> = [value1, value2, value3, …]

3 6.1.1 陣列的運作與一些常用的API 1. count 函式 6. removeLast函式 2. isEmpty函式
7. (repeating:, count:) 函式 3. append函式 8. sorted函式 4. insert(x, at:)函式 9. SwapAt() 函式 5. remove(at:) 函式

4 二維陣列 二維陣列的宣告,我們以範例程式來解釋一下 。

5 範例程式 // 二維陣列的表示法 import Foundation
var array2D: [[Double]] = [[1.9, 3.7], [6.3, 8.6]] for i in 0..<2 { for j in 0..<2 { print(String(format: "%-6.2f", array2D[i][j]), terminator: "") } print("")

6 輸出結果

7 6.2 詞典的表示法 宣告一詞典變數dv的語法如下:
6.2 詞典的表示法 宣告一詞典變數dv的語法如下: var dv = [key1: value1, key2: value2, key3: value3, … ] var dv: Dictionary<keytype, valuetype> = [key1: value1, key2: value2, key3: value3, ...] var dv: [keytype: valuetype] = [key1: value1, key2: value2, key3: value3, ...]

8 詞典的運作與一些常用的API 再以另一個範例程式,從中說明詞典還提供那些可用的API,以 下片段程式是相互關聯的,也就是說後面的程式將會用到前面的 程式。

9 範例程式 var countries = Dictionary<String, String>() countries["France"] = "Eiffel Tower" countries["Taiwan"] = "Taipei 101" countries["Germany"] = "Berlin" for(country, landmark) in countries { print("\(country): \(landmark)") }

10 輸出結果 France: Eiffel Tower Germany: Berlin Taiwan: Taipei 101

11 1. updateValue(forKey:)函式
if let oldValue = countries.updateValue("Berlin Wall", forKey: "Germany") { print("The old value for Germany was \(oldValue)") }

12 2. removeValue(forKey: ) 函式
刪除詞典中的元素項目,除了以nil指定給某一鍵值外,也可以使 用removeValue(forKey: ) 函式,除了刪除的功能外,也會回傳被刪 除的值,此時我們可以將它指定給某一常數名稱,如下所示: if let removeLandmark = countries.removeValue(forKey: "Taiwan") { print("The remove landmark name is \(removeLandmark)") } else { print("The dictionary does not contain a value for Taiwan") }

13 3. [:] 若要清空詞典的所有資料,只要將[:]指定給詞典變數即可,如下 所示: countries = [:]
countries["Taiwan"] = "Taipei 101" for(country, landmark) in countries { print("\(country): \(landmark)") }

14 6.3 聚集型態的指定與複製行為 以結構的方式加以實作,也就是當您將某一個陣列或詞典指定給 另一個時,是以複製的方式實作的,彼此皆有不同的空間。

15 6.4 將陣列中的元素組合成詞典 可以將將陣列中的元素組合成詞典,這是 Swift 4 的新增功能。
6.4 將陣列中的元素組合成詞典 可以將將陣列中的元素組合成詞典,這是 Swift 4 的新增功能。 利用 zip 函式與 Dictionary(uniqueKeysWithValues:) 就可以完成此 項工作。

16 範例程式 let city = ["台灣", "法國", "英國"]
let landmark = ["台北101", "巴黎鐵塔", "倫敦大笨鐘"] let cityLandmark = zip(city, landmark) for data in cityLandmark{ print(data) } let dic = Dictionary(uniqueKeysWithValues: cityLandmark) for (city, landmark) in dic { print("City: \(city), Landmark: \(landmark)")

17 輸出結果 ("台灣", "台北101") ("法國", "巴黎鐵塔") ("英國", "倫敦大笨鐘") City: 法國, Landmark: 巴黎鐵塔 City: 英國, Landmark: 倫敦大笨鐘 City: 台灣, Landmark: 台北101


Download ppt "Ch06. 聚集型態."

Similar presentations


Ads by Google