Swift編程權(quán)威指南(第2版)第 10 章 字典

1.順序不重要? 在容器中持有一組數(shù)據(jù),在需要時(shí)拿出來 這就要用字典

2.鍵必須是唯一的

3.Swift 中Dictionary 類型的鍵必須可散列也就是每個(gè)key必須提供一種機(jī)制讓Dictionary保證任何給定的鍵都是唯一的

4.聲明Dictionary實(shí)例

vardict1:Dictionary=[:] ->創(chuàng)建Dictionary空實(shí)例,提供的類型約束鍵和值

vardict2=Dictionary() 默認(rèn)初始方法 準(zhǔn)備一個(gè)空的字典實(shí)例

vardict3:[String:Double]=[:]

vardict4=[String:Double]()

5.輸出鍵值對(duì)的個(gè)數(shù)

varmovieRatings = ["Donnie Darko":4,"Chungking Express":5,"Dark City":4]

print(movieRatings.count)

6.用鍵取值

letdarkRating =movieRatings["Donnie Darko"]

//darkRating類型是int?但movieRatings是[String: Int]中的值Int

為什么?

因?yàn)檫@時(shí)候darkRating還沒有賦值。類型為Int?并且被置為nil

7.更新值

(1)movieRatings["Dark City"] =5

movieRatings

(2)//updateValue(_:forKey:)

//更新的值,哪個(gè)鍵對(duì)應(yīng)的值要更新

//這個(gè)方法之所以有用,它能保存更新之前該鍵所對(duì)應(yīng)的值

letoldRating:Int? =movieRatings.updateValue(5, forKey:"Donnie Darko")

ifletlastRating =oldRating,letcurrentRating =movieRatings["Donnie Darko"] {

print("Old rating:\(lastRating); current rating:\(currentRating)")

}

8.增加鍵值對(duì)

movieRatings["The Cabinet of Dr. Caligari"] =5

9.鍵作為參數(shù),刪除鍵值對(duì)

(1)movieRatings.removeValue(forKey:"Dark City")

(2)

//let removedRating: Int? = movieRatings.removeValue(forKey: "Dark City")

//與更新類似可以返回一個(gè)被刪除的實(shí)例的可空類型賦值給可空類型的常量

(3)

movieRatings["Dark City"] =nil

//不會(huì)返回被刪除鍵的值

10.循環(huán)字典

//Swift的Dictionary類型為遍歷實(shí)例中的每個(gè)元素的鍵值對(duì)提供了一個(gè)方便的機(jī)制,這種機(jī)制通過表示鍵和值的臨時(shí)常量把每個(gè)元素作為組成部分.這些常量放在一個(gè)元祖中,for-in循環(huán)可以在循環(huán)體內(nèi)訪問

//(1)循環(huán)遍歷鍵值

for(key, value)inmovieRatings{

print("The movie\(key) was rated\(value).")

}

//(2)循環(huán)便利鍵

formovieinmovieRatings.keys{

print("User has rated\(movie).")

}

11.創(chuàng)建不可變數(shù)組

letalbum = ["Diet Roast Beef":268,

"Dubba Dubbs Stubs His Toe":467,

"Smokey's Carpet Cleaning Service":187,

"Track 4":221]

album

12.把字典轉(zhuǎn)換為數(shù)組

letwatchedMovies =Array(movieRatings.keys)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容